J'essaye de faire fonctionner un script Python indépendamment du moment où un argument a été passé ou non.Comment faire fonctionner un script python avec et sans arguments (arguments par défaut)?
L'objectif est de rendre le script fonctionnel car "MyPython.py" et "MyPython.py 5" devraient pouvoir fonctionner. Si aucun argument n'a été passé, alors l'argument devrait être 0.
La variable imported_number
devrait être 0 par défaut mais si un argument a été détecté, alors il devrait prendre n'importe quel nombre passé par l'utilisateur.
import argparse
imported_number=0
parser = argparse.ArgumentParser()
parser.add_argument("opt_number", type=int, help="Provide a number please")
args = parser.parse_args()
if args.opt_number > 0:
imported_number=args.opt_number
print "You provided me with the number " + imported_number
print "You provided me with the number {}".format(args.opt_number)
else:
print "You did not provide me with any number. Taking the default value, which is " + imported_number
Malheureusement, j'obtiens le message d'erreur error: too few arguments
.
Est-ce que quelqu'un connaît des méthodes efficaces et automatisées pour accomplir cette tâche? J'apprécierais.
Avez-vous essayé 'nargs = '?'' Dans 'add_argument'? – khelwood
Définir une valeur [par défaut] (https://docs.python.org/3/library/argparse.html#default)? – jonrsharpe