IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

subprocess et argparse [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Septembre 2017
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : ETUDIANT
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Septembre 2017
    Messages : 17
    Par d�faut subprocess et argparse
    Bonsoir, j'ai fais un script python qui me permet d'obtenir des stats NFS tout en utilisant argparse pour pouvoir obtenir qu'une seule stat, le voici:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import sys
    import subprocess
    import argparse
     
     
    parser = argparse.ArgumentParser()
    parser.add_argument("-a", action='store_true', help="access stats")
    parser.add_argument("-c", action='store_true', help="close stats")
    parser.add_argument("-r", action='store_true', help="read stats")
    parser.add_argument("-w", action='store_true', help="write stats")
    args = parser.parse_args()
     
     
    if len(sys.argv)==1:
            subprocess.Popen("nfsstat -l", shell=True)
    elif args.a:
        subprocess.Popen("nfsstat -l | grep 'access:' | awk '{print $5}' ", shell=True)
    elif args.c:
        subprocess.Popen("nfsstat -l | grep 'close:' | awk '{print $5}' ", shell=True)
    elif args.r:
        subprocess.Popen("nfsstat -l  | grep 'read:' | awk '{print $5}' ", shell=True)
    elif args.w:
        subprocess.Popen("nfsstat -l | grep 'write:' | awk '{print $5}' ",shell=True)
    Donc si je lance mon script sans argument ( "python myscript.py" ), j'obtiens toute les stats (une par ligne grace au " -l ")
    en revanche, si j'utilise l'argument -a par exemple (python myscript.py -a), j'obtiens qu'une stat :
    52145

    En soit mon script fonctionne, j'obtiens bien le r�sultat souhait�.
    Y a-t'il un autre moyen pour faire ceci ? en ne faisait qu'un seul subprocess ?

  2. #2
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 775
    Par d�faut
    Salut,

    Citation Envoy� par hayee Voir le message
    Y a-t'il un autre moyen pour faire ceci ? en ne faisait qu'un seul subprocess ?
    Il n'y a qu'un seul subprocess... mais � cause des "pipes" de "nfsstat -l | grep 'access:' | awk '{print $5}' ". chacun en cr�e 2. Peut �tre vous parlez de ceux l�?
    Peut �tre que vous voulez n'avoir qu'une seule ligne avec subprocess.Popen et construire les arguments � passer en fonction de ce qui a �t� re�u dans sys.argv?
    Le plus simple serait d'aller lire directement ces stats dans /proc/net/rpc/nfs[d]

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Septembre 2017
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : ETUDIANT
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Septembre 2017
    Messages : 17
    Par d�faut
    Peut �tre que vous voulez n'avoir qu'une seule ligne avec subprocess.Popen
    tout d'abord merci pour la r�ponse,
    c'est �a, je souhaiterais une seule ligne avec subprocess tout en gardant mes arguments, qui pour chacun d'entre eux, me permettrais de grep une seule stat choisie parmis toutes celles que j'ai si je lance mon script sans argument, une piste ?

  4. #4
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 775
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 775
    Par d�faut
    Citation Envoy� par hayee Voir le message
    c'est �a, je souhaiterais une seule ligne avec subprocess tout en gardant mes arguments, qui pour chacun d'entre eux, me permettrais de grep une seule stat choisie parmis toutes celles que j'ai si je lance mon script sans argument, une piste ?
    Fabriquer une cha�ne de caract�res en concat�nant des variables?
    Normalement, c'est ce qu'on apprend dans n'importe quel tuto... ou en lisant la documentation.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Septembre 2017
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : ETUDIANT
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Septembre 2017
    Messages : 17
    Par d�faut
    effectivement ca me parait logique maintenant, merci wiztricks !
    r�solu

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Pid, /proc/ et Subprocess
    Par emmanuel_dumas dans le forum G�n�ral Python
    R�ponses: 1
    Dernier message: 12/04/2010, 12h40
  2. sortie des subprocess
    Par salsbo dans le forum G�n�ral Python
    R�ponses: 2
    Dernier message: 11/01/2010, 06h59
  3. Width du pipe subprocess
    Par RiPSO dans le forum G�n�ral Python
    R�ponses: 3
    Dernier message: 22/12/2009, 11h19
  4. erreur import subprocess
    Par free_dom dans le forum G�n�ral Python
    R�ponses: 7
    Dernier message: 06/07/2009, 16h37
  5. Toplevel et subprocess
    Par frites.saucisse dans le forum Tkinter
    R�ponses: 7
    Dernier message: 31/03/2008, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo