[Python] Gestion des arguments avec argparse
Quelques morceaux de code en aide mémoire.
Un argument positionnel
Lire un nom de fichier en argument.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'file',
type=argparse.FileType('r'),
help='Fichier à traiter',
)
args = parser.parse_args()
print(args.file.name)
exit
- type : Automatically convert an argument to the given type
Le programme indiquera une erreur dans le cas où un fichier n’est pas passé en paramètre ET vérifie son existence.
unargument.py: error: the following arguments are required: file
L’argument -h permet d’avoir des explications :
./unargument.py -h
usage: unargument.py [-h] file
positional arguments:
file Fichier à traiter
options:
-h, --help show this help message and exit
Deux arguments positionnels
Bien que je préfère largement utiliser des options lorsque j’ai plus d’un argument, voici le code associé.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'file',
type=argparse.FileType('r'),
help='Fichier à traiter',
)
parser.add_argument(
'autre',
help='Autre argument',
)
args = parser.parse_args()
print(args.file.name)
print(args.autre)
Arguments positionnels
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-r', '--report',
help="Répertoire de destination des rapports",
required=True
)
parser.add_argument('-v', '--verbose',
help="Répertoire de destination des rapports",
default="rapports/",
)
args = parser.parse_args()
print(args.report)
print(args.verbose)
Ici nous découvrons plusieurs nouvelles options :
- default qui va nous permettre de donner une valeur par défaut pour une donnée
- required qui rend obligatoire la présence d’une information.
Accueil > Notes Techniques > Python > [Python] Gestion des arguments avec argparse