Я хотел бы иметь необязательный аргумент, который будет иметь значение по умолчанию, если присутствует только флаг, без указания значения, но хранить значение, указанное пользователем, вместо значения по умолчанию, если пользователь указывает значение. Для этого уже есть действие?
Пример:
python script.py --example
# args.example would equal a default value of 1
python script.py --example 2
# args.example would equal a default value of 2
Я могу создать действие, но хотел посмотреть, существует ли способ сделать это.
python
default-value
argparse
обкрадывать
источник
источник
self.foo = (args.bar or some_else_source).upper()
. Не сломается ни на одном объекте AFAIUC.На самом деле, вам нужно использовать
default
аргумент толькоadd_argument
как в этомtest.py
сценарии:Подробности здесь .
источник
Разница между:
и
таким образом:
myscript.py
=> debug равен 7 (по умолчанию) в первом случае и «None» во второмmyscript.py --debug
=> отладка 1 в каждом случаеmyscript.py --debug 2
=> отладка 2 в каждом случаеисточник