Quand vous démarrez un script Python, il est possible de lui passer des arguments (on peut aussi parler de paramètres du script) sur la ligne de commande.
Pour manipuler ces arguments, vous devez utiliser la liste sys.argv
en ayant préalable charger le module sys
, bien entendu.
Le nom de la liste, argv
, signifiant « argument values ».
Les éléments de cette liste sont tous de type chaînes de caractères (classe str
). Il est aussi à noter que la première entrée de la liste
correspond au nom du script démarré. Les paramètres, à proprement parler, commencent donc à partir de l'indice 1.
L'exemple suivant se propose d'ajouter toutes les valeurs entières passées, lors du démarrage du script, sur la ligne de commande. Si un (ou plusieurs) des paramètres n'est pas compatible avec le type entier, un message d'erreur est produit sur la console, mais l'exécution du script se poursuit avec les paramètres suivants.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys if len( sys.argv ) == 1: print( "Adder by KooR.fr - V1.0" ) print( "\tusage: python3 adder.py intValue..." ) exit() accumulator = 0 for strParam in sys.argv[1:]: try: param = int( strParam ) accumulator += param except ValueError: print( "Bad parameter value: %s" % strParam, file=sys.stderr ) print( "Sum == %d" % accumulator ) |
Et voici les résultats produits par cet exemple :
$> python3 adder.py 10 a 20 b 30 Bad parameter value: a Bad parameter value: b Sum == 60 $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :