default-value argument - Python argparse:valeur par défaut ou valeur spécifiée





parser boolean (2)


import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--example', nargs='?', const=1, type=int)
args = parser.parse_args()
print(args)
% test.py 
Namespace(example=None)
% test.py --example
Namespace(example=1)
% test.py --example 2
Namespace(example=2)
  • nargs='?' signifie 0-ou-1 arguments
  • const=1 définit la valeur par défaut lorsqu'il y a 0 arguments
  • type=int convertit l'argument en int

Si vous souhaitez que test.py définisse l' example sur 1 même si aucun --example n'est spécifié, incluez default=1 . C'est, avec

parser.add_argument('--example', nargs='?', const=1, type=int, default=1)

puis

% test.py 
Namespace(example=1)

Je voudrais avoir un argument optionnel qui sera par défaut à une valeur si seulement l'indicateur est présent sans valeur spécifiée, mais stocke une valeur spécifiée par l'utilisateur au lieu de la valeur par défaut si l'utilisateur spécifie une valeur. Y a-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.




Vous pouvez utiliser l' opérateur in :

if "blah" not in somestring: 
    continue






python default-value argparse