On 2013-11-22 14:56, Neal Becker wrote:
I use arparse all the time and find it serves my needs well. One thing I'd like
to see. In the help message, I'd like to automatically add the default values.
For example, here's one of my programs:
python3 test_freq3.py --help
usage: test_freq3.py [-h] [--size SIZE] [--esnodB ESNODB] [--tau TAU] [--trials
TRIALS]
[--training TRAINING] [--sps SPS] [--si SI] [--alpha
ALPHA]
[--range RANGE] [--dfunc {gradient,delay}]
[--mod
{gaussian,qpsk,8psk,16apsk,32apsk,32dlr,64apsk,256apsk}]
[--sym-freq-err SYM_FREQ_ERR] [--calibrate [CALIBRATE]]
optional arguments:
-h, --help show this help message and exit
--size SIZE
--esnodB ESNODB, -e ESNODB
--tau TAU, -t TAU
--trials TRIALS
--training TRAINING
--sps SPS
--si SI
--alpha ALPHA
--range RANGE
--dfunc {gradient,delay}
--mod {gaussian,qpsk,8psk,16apsk,32apsk,32dlr,64apsk,256apsk}
--sym-freq-err SYM_FREQ_ERR
--calibrate [CALIBRATE], --with-calibrate [CALIBRATE], --enable-calibrate
[CALIBRATE], --no-calibrate [CALIBRATE], --without-calibrate [CALIBRATE], --
disable-calibrate [CALIBRATE]
What I'd like to see is:
--size SIZE [2000] <<< the default value is displayed
Use formatter_class=argparse.ArgumentDefaultsHelpFormatter
http://docs.python.org/2/library/argparse#argparse.ArgumentDefaultsHelpFormatter
E.g.
[git/mpstack]$ cat print_stacks.py
...
def main():
import argparse
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('-p', '--percent', action='store_true', help='Show
percentages.')
parser.add_argument('file', help='The sample file.')
...
[git/mpstack]$ python print_stacks.py -h
usage: print_stacks.py [-h] [-p] file
positional arguments:
file The sample file.
optional arguments:
-h, --help show this help message and exit
-p, --percent Show percentages. (default: False)
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
https://mail.python.org/mailman/listinfo/python-list