Plus d'informations : Référene Python 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