如何添加一個可選參數,該參數具有默認值並且可以用另一個值調用或可以不帶值調用(並且具有默認值)。 所以我有這樣的說法Python argparse可選參數無參數(不存儲爲true)
parser.add_argument("-a", "--automatic", type=int, default=8)
,我希望能夠調用。 My_script.py -a
如果我想要一個以8作爲參數的自動模式,但是我也想要例如My_script.py -a 10
,如果我想要一個自動模式以10(或任何其他數字)作爲參數。 問題是,當我用My_script.py -a
運行時,我得到預期的一個參數。如果我不想指定8,我也不允許指定-a,然後我必須運行My_script.py
,這不是我想要的。
如果通過沒有任何事情等同於傳遞沒有值的'-a',爲什麼允許後者?它只是使分析中的錯誤/歧義變得更容易。 'nargs ='?''類型的作品(當它發生時,你必須用'8'手動替換'None',因爲如果沒有參數提供,它不是默認情況,所以它存儲'None'),但它是一個壞主意。 – ShadowRanger
這似乎不明確。解析器應該如何判斷'-a'之後的東西是否是'-a'選項的值或位置參數?無論argparse是否支持這一點,我認爲這不是一個好的界面。 – user2357112
用'nargs ='?''玩,並給它'默認'和'const'參數。 – hpaulj