我試圖用這樣一句話:argparse:narg ='*'的默認值?
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--music', nargs='*', default=False, const=True)
args = parser.parse_args()
print(args.music)
但得到這個錯誤:
`builtins.ValueError: nargs must be '?' to supply const`
我想要做的是:
- 如果
-m
在args列表中,但內部消除任何值,args.music會給我真 - 如果
-m
是在args列表中並且有'N'va梅毒,args.music會給我所有的值 - 如果
-m
不在的args列表的列表,指定參數時,音樂將返回False
第二和lastOne的工作,但,當我嘗試使用const的我得到了一個錯誤
真的不知道爲什麼你要第一個點( 「如果'M'在args列表中,但沒有任何價值......」) 。對args.music進行測試是False(或者「not False」,取決於你的邏輯),告訴你是否處於第三種情況。然後對於前兩個,你只需要檢查參數 –