Découpage des arguments de ligne de commande

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 577 fois - Téléchargée 29 fois

Contenu du snippet

Bonjour, voici un code concret, qui permet de découper les arguments de ligne de commande de mon Script :

par exemple, on appelle :

MiseADispo.py -T G:\Fichiers editiques PAPYRUS SMU\ -H edisa01 -P PP0520 -A ITK -F ITK* -D 2005-01-11

Source / Exemple :


if len(sys.argv) == 1: 
    print """
 Usage : MiseADispo.py [-Options]
 
 Options :
  - T : Chemin de base ou mettre a disposition
  - D : Date des fichiers a copier. Par defaut : date du jour (facultatif)
  - F : Filtre des fichiers a copier
  - H : Machine Hote
  - A : Code de l'application
  - P : Nom du papier
   
 Exemple :
  -T G:\Fichiers SMU\ -H edisa01 -P PP0520 -A ITK -F ITK* -D 2005-01-11
          """
else:
    # Decoupage des arguments
    argv = (' '+string.join(sys.argv[1:],' ')).split(' -')[1:]
    Stat = 0
    for arg in argv:
        if arg[0] == 'T': Path    = arg[2:]
        if arg[0] == 'D': Today   = arg[2:]
        if arg[0] == 'P': Papier  = arg[2:]
        if arg[0] == 'F': Pattern = arg[2:]
        if arg[0] == 'H': Host    = arg[2:]
        if arg[0] == 'A': Appli   = arg[2:]

Conclusion :


enfin, en même temps, je débute en python, mais je pense que c'est un code exploitable.....

A voir également

Ajouter un commentaire

Commentaires

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
pas faux... bonne remarque.

ces vérifications peuvent se faire dans le code 'principal', au pire...
Messages postés
35
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bon travail, simple et efficace. Une manière de l'améliorer serait de permettre une vérification de la présence de tous les arguments requis (ici tous sauf la date apparemment).
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
sys.argv est un tableau contenant les arguments de ligne de commande.
Le premier element est le nom du script.

si len(sys.argv)égal 1, c'est qu'aucun autre argument n'a été fournit...
on affiche alors une aide qui explique les instructions

c'est ce que tu peux voir entre """ et """
Messages postés
26
Date d'inscription
lundi 22 août 2005
Statut
Membre
Dernière intervention
22 décembre 2005
1
"if len(sys.argv) == 1: "

Salut tt le monde,
a quoi elle sert cette ligne ?
je ne connaissait pas pas l'existence de cette variable : sys.argv
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
J'aimagine que le niveau est effectivement léger ;)
je débute, et me suis bien amusé a mettre du Python dans certains traitements dans mon ancien boulot. J'ai quelques autres codes sous la main, mais ils sont plus spécifiques au boulot, et je pouvais pas les mettre comme ca a dispo...

sinon, j'avoues que ce langage est vraiment étonnant. Puissant, ergonomique, portable... tous les atouts pour en faire un grand ;)

allez, a+ Néo
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.