2013-04-08 53 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