Ich möchte ein optionales Argument haben, das standardmäßig einen Wert verwendet, wenn nur das Flag ohne angegebenen Wert vorhanden ist, aber einen benutzerdefinierten Wert anstelle des Standardwerts speichert, wenn der Benutzer einen Wert angibt. Gibt es dafür bereits eine Aktion?
Ein Beispiel:
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
Ich kann eine Aktion erstellen, wollte aber sehen, ob es dafür einen Weg gibt.
python
default-value
argparse
rauben
quelle
quelle
self.foo = (args.bar or some_else_source).upper()
. Es wird auf keinem Objekt AFAIUC brechen.Eigentlich müssen Sie nur das
default
Argument verwenden, umadd_argument
wie in diesemtest.py
Skript:Details finden Sie hier .
quelle
Der Unterschied zwischen:
und
Somit:
myscript.py
=> Debug ist im ersten Fall 7 (von Standard) und im zweiten "Keine"myscript.py --debug
=> Debug ist jeweils 1myscript.py --debug 2
=> Debug ist jeweils 2quelle