Вопрос: Учитывая экземпляр парсера argparse с добавленными аргументами, существует ли способ удалить/удалить аргумент, определенный для него?Как удалить аргумент из пространства имен
Почему: Учитывая Exemple ниже:
>>>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