Rechercher
 

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 :

Manipulation des arguments du script avec sys.argv

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.

Exemple de code

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 )
Fichie adder.py : exemple de manipulation des arguments du script avec sys.argv

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
$>