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

Reply via email to