我試圖做一個腳本用法如下:argparse mutually_exclusive_group與子組
my_script [-p parg -l larg] | [-s sarg]
即腳本或者需要-p
和-l
參數OR-s
說法。如果指定了-p
和-s
這是錯誤的。我嘗試以下,但似乎並不工作
import argparse
parser = argparse.ArgumentParser(description='Some Desc')
gp = parser.add_mutually_exclusive_group()
num_gp = gp.add_argument_group()
num_gp.add_argument('-p')
num_gp.add_argument('-l')
gp.add_argument('-s')
In [18]: parser.parse_args(['-p blahp', '-l blahl', '-s blahs'])
Out[18]: Namespace(l=' blahl', p=' blahp', s=' blahs') #ERROR Should have failed as I specify both `-p` and `-s` which belong to a mutually_exclusive_group
嘿,如果你有自由,試試'docopt'而不是argparse。 – Murph
相關問題:http://stackoverflow.com/questions/16769409/using-mutually-exclusive-between-groups/ – hpaulj
'-l'是否需要'-p'? – hpaulj