2013-04-08 55 views
1

在Python输入参数的显示顺序,利用​​,有一种方法来直接指定以何种顺序参数将被显示在屏幕上,调用带有-h脚本时?的Python:与argparse

更具体地说,我想以后其他一些显示的参数个数

回答

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实现,欢迎重新实现​​他们认为合适的,但因为它是纯Python,我不看到他们重新发明车轮的任何理由。

+0

是。我很快就认为参数按字母顺序排列,但正如您所说的那样,它们实际上是按照它们在代码中出现的顺序显示的。 – 2013-04-08 14:16:34