時,我有以下的Python程序:的Python argparse:類型不一致結合 '選擇', 'NARGS' 和 '默認'
#!/usr/bin/env python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('arg', choices=['foo', 'bar', 'baz'], default='foo', nargs='*')
args = parser.parse_args()
print(args)
如果我調用的程序是這樣的:
./prog.py
輸出
Namespace(arg='foo')
但如果我調用該程序與foo
作爲參數:
./prog.py foo
輸出
Namespace(arg=['foo'])
問題
我怎樣才能得到arg
的默認值成爲list
?
我已經試過
我試過設置default=['foo']
但其結果是:
prog.py: error: argument arg: invalid choice: ['foo'] (choose from 'foo', 'bar', 'baz')
這是重複「是關於'append'行動;這是默認的'商店'之一。我可能會重新打開它。 – hpaulj
,我拒絕重複的是:http://stackoverflow.com/questions/8526675/python-argparse-optional-append-argument-with-choices – hpaulj