Je voudrais avoir un argument facultatif qui par défaut à une valeur si seul le drapeau est présent sans valeur spécifiée, mais stocker une valeur spécifiée par l'utilisateur au lieu de la valeur par défaut si l'utilisateur spécifie une valeur. Une action est-elle déjà disponible pour cela?
Un exemple:
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
Je peux créer une action, mais je voulais voir s'il existait un moyen de le faire.
self.foo = (args.bar or some_else_source).upper()
. Il cassera sur Aucun objet AFAIUC.En fait, il vous suffit d'utiliser l'
default
argumentadd_argument
comme dans cetest.py
script:Les détails sont ici .
la source
La différence entre:
et
est ainsi:
myscript.py
=> le débogage est 7 (par défaut) dans le premier cas et "Aucun" dans le secondmyscript.py --debug
=> debug vaut 1 dans chaque casmyscript.py --debug 2
=> debug est 2 dans chaque casla source