【发布时间】:2013-03-30 15:49:44
【问题描述】:
在 Python 中,使用argparse,当使用-h 调用脚本时,有没有办法直接指定参数在屏幕上显示的顺序?
更具体地说,我想在 其他一些参数之后显示一些参数。
【问题讨论】:
在 Python 中,使用argparse,当使用-h 调用脚本时,有没有办法直接指定参数在屏幕上显示的顺序?
更具体地说,我想在 其他一些参数之后显示一些参数。
【问题讨论】:
我相信顺序是您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,我认为他们没有任何理由重新发明轮子。
【讨论】: