我已經使用創建了一個腳本。argparse模塊如何添加沒有任何參數的選項?
該腳本需要將配置文件名稱作爲選項,用戶可以指定是否需要完全執行腳本或僅對其進行模擬。
要通過的參數:./script -f config_file -s
或./script -f config_file
。
這對於-f config_file部分是可以的,但它不斷詢問我是否是-s選項的參數,並且不應該跟隨任何參數。
我已經試過這樣:
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file')
#parser.add_argument('-s', '--simulate', nargs = '0')
args = parser.parse_args()
if args.file:
config_file = args.file
if args.set_in_prod:
simulate = True
else:
pass
隨着以下錯誤:
File "/usr/local/lib/python2.6/dist-packages/argparse.py", line 2169, in _get_nargs_pattern
nargs_pattern = '(-*%s-*)' % '-*'.join('A' * nargs)
TypeError: can't multiply sequence by non-int of type 'str'
而且同樣errror與''
,而不是0
。
非常感謝Felix Kling – philippe 2011-03-12 23:11:13