問題:給定一個包含一些參數的argparse解析器實例,是否有刪除/移除爲其定義的參數的方法?如何刪除命名空間中的參數
爲什麼:考慮以下爲例:
>>>import argparse
>>>parser = argparse.ArgumentParser()
>>>parser.add_argument('--imagePath', action = "store", default = 'toto')
_StoreAction(option_strings=['--imagePath'], dest='imagePath', nargs=None, const=None, default='toto', type=None, choices=None, help=None, metavar=None)
>>>args = parser.parse_args()
>>>args
Namespace(imagePath='toto')
>>>parser.add_argument('--resultPath', action = "store", default = 'titi')
_StoreAction(option_strings=['--resultPath'], dest='resultPath', nargs=None, const=None, default='titi', type=None, choices=None, help=None, metavar=None)
>>>args = parser.parse_args()
>>>args
Namespace(imagePath='toto', resultPath='titi')
如果我們將在後面的腳本,改變args.imagePath的價值?
我沒有找到更改值的方法,但是如果我可以刪除/刪除參數imagePath,可以用一個新的值再次定義imagePath!
你爲什麼要'parse_args'然後改變參數定義? – user2357112
爲什麼解析然後忽略輸入參數?你真的*想要*去除參數,或者只是替換它的值(如果前者,爲什麼不忽略它)? – jonrsharpe
在一個大腳本中,有一些關聯的可能參數很多。我只是添加一個新的參數,但取決於它的價值,我需要動態地改變其他人的價值。 hpaulj給了正確的方法來做到這一點 – servoz