326 votes

Python argparse : valeur par défaut ou valeur spécifiée

Je souhaiterais disposer d'un argument facultatif qui prendrait une valeur par défaut si seul le drapeau est présent sans qu'aucune valeur ne soit spécifiée, mais qui enregistrerait une valeur spécifiée par l'utilisateur au lieu de la valeur par défaut si l'utilisateur spécifie une valeur. Existe-t-il déjà une action 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.

104voto

Murray Points 241

La différence entre :

parser.add_argument("--debug", help="Debug", nargs='?', type=int, const=1, default=7)

et

parser.add_argument("--debug", help="Debug", nargs='?', type=int, const=1)

est ainsi :

myscript.py => debug est 7 (par défaut) dans le premier cas et "None" dans le second

myscript.py --debug => debug est 1 dans chaque cas

myscript.py --debug 2 => debug est 2 dans chaque cas

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X