Formation PUB420 : Système domotique DIY, 2020 Scripts Python pour interagir avec le GPIO

9.3 Passer un paramètre à un script Python


Il est possible de passer un ou plusieurs paramètres, aussi appelés arguments, à un script Python à partir de la ligne de commande.

Terminal

python3 monscript.py unparametre autreparametre

Pour lire la valeur des paramètres dans le script, il faut d'abord importer le module sys.

Python

import sys

Les paramètres sont contenus dans un tableau nommé sys.argv.

L'élément 0 du tableau est toujours le nom du script.

L'élément 1 est le premier argument, l'élément 2 est le second argument et ainsi de suite.

Python

nom_script = sys.argv[0]
premier_parametre = sys.argv[1]
deuxieme_parametre = sys.argv[2]

Paramètre numérique

À la base, les paramètres sont tous de type texte.

Si le paramètre doit être utilisé comme un nombre, il faut d'abord le convertir.

Python

iterations = sys.argv[1]
...
for i in range(int(iterations)):
    ...

Paramètre optionnel

Il est parfois pratique d'offrir la possiblité de fournir une valeur à utiliser dans le script sans toutefois l'obliger. Lorsqu'aucun paramètre n'est passé, on utilisera une valeur par défaut.

Puisque sys.argv[nombre] lève une exception s'il fait référence à un nombre plus élevé que le nombre de paramètres reçus, on pourra utiliser un try... except pour fournir une valeur par défaut lorsque le paramètre n'a pas été passé au script.

Python

try:
    iterations = sys.argv[1]
except IndexError:
    iterations = 3

▼Publicité Le texte se poursuit plus bas

Pour plus d'information

« Python Command Line Arguments ». Real Python. https://realpython.com/python-command-line-arguments/#the-sysargv-array

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 12 septembre 2021
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre