ANTISECHE
Pour ne plus rien oublier !

Développez facilement des scripts en ligne de commande en Python

mercredi 22 mai 2013

Contexte

Python permet de développer très rapidement et très simplement toutes sortes de choses. En plus d'être efficace, Python peut tourner de la même façon sur quasiment toutes les plateformes (Windows, GNU/Linux, Mac OS, Android etc...). Il est très utilisé pour le developpement de logiciels complets et de sites Internet. Mais, il peut tout aussi bien s'occuper de tâches automatisées de la même façon et voir mieux que Bash. Puisque, contrairement à Bash, il n'est pas tributaire de l'existance de programmes tels que date, ls etc...

Exemple d'une gestion des arguments de la ligne de commande

Le code Python

#!/usr/local/bin/python
# -*- coding: utf-8 -*-
# Comme pour tout programme Python, on importe le module dont on a besoin
import argparse

# On renseigne la description de notre programme
parser = argparse.ArgumentParser(description="Description du programme")

# On ajoute notre premier argument optionnel que l'on appelle "option", on renseigne son type et sa description
parser.add_argument('-o', '--option', default='valeur par defaut', type=str,
                             help="Explication de l'utilité de cet argument",
                             )

# On ajoute un argument positionnel obligatoire que l'on appelle "text" et on renseigne son type,
# on précise aussi qu'il doit y avoir au moins un de renseigné puis on termine par sa description
parser.add_argument('argument_1', type=str, nargs='+',
                     help="Un argument positionel obligatoire")

# On demande ensuite à Python de traiter les arguments
args = parser.parse_args()

# On affiche le ou les arguments positionnels (un obligatoire)
print(args.argument_1)
# On affiche l'argument "option" s'il est renseigné
print(args.option)

Utilisation

Lorsque l'on exécute le programme, Python vérifie et traite automatiquement les arguments. Si les arguments ne sont pas ceux attendus, Python nous l'indique tout simplement.

~$ python monprogramme.py
usage: test.py [-h] [-o OPTION] argument_1 [argument_1 ...]
test.py: error: the following arguments are required: argument_1

Mais, ce qui est vraiment magique, c'est que la description et l'aide de notre programme sont automatiquement gérées par Python. Rien de plus n'est nécessaire.

~$ python monprogramme.py -h
usage: test.py [-h] [-o OPTION] argument_1 [argument_1 ...]

Description du programme

positional arguments:
  argument_1            Un argument positionel obligatoire

optional arguments:
  -h, --help            show this help message and exit
  -o OPTION, --option OPTION
                        Explication de l'utilité de cet argument

2 commentaires

#1 mercredi 24 juillet 2013 à 14:19 Chris a dit :

Bon allez vous m'avez décidé je vais m'y mettre :)

#2 mercredi 31 juillet 2013 à 00:46 Manu a dit :

@Chris :
Vous ne le regretterez pas :-)

Fil RSS des commentaires de cet article

Écrire un commentaire

Contenu de votre message :

Votre nom ou pseudo :

Votre site Internet (facultatif) :

Votre adresse e-mail (facultatif) :

Quelle est la quatrième lettre du mot uvehiu ? : 

CopyLeft - 2013-17 - Toutes gauches réservées - Licence CC-BY

Valide xHtml 1.0 STRICT | Fièrement propulsé par PluXml | 0.018s | 5571 vues