1

在 Python 中,使用argparse调用脚本时,是否可以直接指定参数在屏幕上显示的顺序-h

更具体地说,我想在其他一些论点之后显示一些论点。

4

1 回答 1

1

我相信顺序是您add_argument(对于每个组)的顺序,因为它们在内部存储在一个列表中。

例如:

import argparse

args = ('foo','bar','baz','qux')

#This is not the order the get printed in, so it's not using a dict...
print (set(args))  

parser = argparse.ArgumentParser()
for x in args:
    parser.add_argument('--{0}'.format(x),help=x)

parser.parse_args(['-h'])

结果是:

set(['baz', 'foo', 'bar', 'qux'])
usage: test.py [-h] [--foo FOO] [--bar BAR] [--baz BAZ] [--qux QUX]

optional arguments:
  -h, --help  show this help message and exit
  --foo FOO   foo
  --bar BAR   bar
  --baz BAZ   baz
  --qux QUX   qux

当然,欢迎不同的python实现argparse在他们认为合适的时候重新实现,但由于它是纯python,我看不出他们有任何理由重新发明轮子。

于 2013-04-08T14:09:47.667 回答