2
看着this answer,我可以這樣做:解析 「蟒蛇foo.py -DVAR1 = 9 -DVAR2 =關」 與argparse
parser=argparse.ArgumentParser()
parser.add_argument('-D',action='append',help='FOO=BAR')
options = parser.parse_args('-DVAR1=9 -DVAR2=Off'.split())
我也得到:
Namespace(D=['VAR1=9', 'VAR2=Off'])
所以後來說:
[o.split('=') for o in options.D]
結果:
[['VAR1', '9'], ['VAR2', 'Off']]
這基本上是我所需要的,但我覺得這是一個可能已經在ArgParse
包中實現的常見操作。 Pythonesque是否有這樣的方式?
使用'sys.argv',哪個選項運行第一或哪個選項包括其他?我從來沒有使用過這個模塊,也許我基本上不使用這個。 – dsgdfg
不要這樣想。但是,一個字典的變量可能比列表更有用:'vars = dict([o.split('=')for o in options.D]' – nigel222
Figura項目中實現了類似的東西。 ee [this](https://github.com/shx2/figura/blob/master/figura/cli.py#L57) – shx2