Découpage des arguments de ligne de commande

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 024 fois - Téléchargée 31 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
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
27 juil. 2006 à 09:03
pas faux... bonne remarque.

ces vérifications peuvent se faire dans le code 'principal', au pire...
cs_lepecheur Messages postés 35 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 29 octobre 2007
18 juil. 2006 à 16:34
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).
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 août 2005 à 20:36
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 """
tipro75 Messages postés 26 Date d'inscription lundi 22 août 2005 Statut Membre Dernière intervention 22 décembre 2005 1
30 août 2005 à 20:02
"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
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
29 mars 2005 à 09:13
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.