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

5 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 :-)

#3 vendredi 26 octobre 2018 à 19:50 DominoQQ a dit :

Simply desire to saу yοur article іs аs surprising.
The clearness іn y᧐ur publish іs simply great and
that i can assume yоu are a professional on tһis subject.
Well tߋgether with your permission ɑllow me to takе hold of уoսr RSS feed tߋ stay updated ᴡith imminent post.

Thanks 1,000,000 ɑnd plеase continue the gratifying ѡork.

#4 mercredi 13 février 2019 à 10:05 bcaqq a dit :

I read this post fully on the topic of the difference
of hottest and previous technologies, it's amazing article.

#5 jeudi 14 février 2019 à 08:01 dewamovie a dit :

Hello my loved one! I wish to say that this article is awesome, great
written and include almost all significant infos.
I would like to see more posts like this .

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 première lettre du mot mjwgv ? : 

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

Valide xHtml 1.0 STRICT | Fièrement propulsé par PluXml | 0.005s | 135311 vues