Chciałbym mieć opcjonalny argument, który będzie domyślnie przyjmował wartość, jeśli obecna jest tylko flaga bez określonej wartości, ale zapisuje wartość określoną przez użytkownika zamiast wartości domyślnej, jeśli użytkownik określi wartość. Czy jest już dostępna akcja?
Przykład:
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
Mogę utworzyć akcję, ale chciałem sprawdzić, czy istnieje na to sposób.
python
default-value
argparse
Obrabować
źródło
źródło
self.foo = (args.bar or some_else_source).upper()
. Zepsuje się na żadnym obiekcie AFAIUC.Właściwie wystarczy użyć
default
argumentuadd_argument
tak, jak w tymtest.py
skrypcie:Szczegóły tutaj .
źródło
Różnica pomiędzy:
i
jest więc:
myscript.py
=> debugowanie to 7 (domyślnie) w pierwszym przypadku i „Brak” w drugimmyscript.py --debug
=> debugowanie wynosi 1 w każdym przypadkumyscript.py --debug 2
=> debugowanie wynosi 2 w każdym przypadkuźródło