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 :

Executer un .CMD et récupérer un résultat


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 121
    Points : 64
    Points
    64
    Par défaut Executer un .CMD et récupérer un résultat
    Bonjour,
    J'ai écris un petit bout de code en Python qui exécute un fichier .cmd (via os.system) et j'aimerais bien que ce .cmd me renvoie un résultat que je puisse afficher dans ma fenêtre wxPython (parce que la fenêtre DOS elle s'est déjà refermée !).

    Quelqu'un sait comment faire ?
    Peut-être que je suis pas dans le bon forum, dans ce cas, merci de me dire ou poster.

  2. #2
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    comment exécute tu le contenu du fichier cmd?

    parce que c'est en fonction de la méthode utilisée que l'on pourra te guider.

    Le principe est cependant le même un peut partout.
    Considérant subprocess.Popen() tu as la possibilité de récupérer la sortie (stout).

    donne nous plus d'information sur ta méthode utilisé et la version de python aussi.

    merci

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 121
    Points : 64
    Points
    64
    Par défaut
    Eh ben je l'ai dis !
    Je fais un os.system() et ça marche bien d'ailleurs, mon fichier CMD s'execute mais s'il y a un message d'erreur ou quoi que ce soit, j'ai pas le temps de le voir, c'est pour ça que j'aimerais le récupérer.

    Je suis en Python 2.6

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 335
    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 335
    Points : 36 856
    Points
    36 856
    Par défaut
    Salut,

    Un exemple que je reposte souvent.
    Ca récupère errors et output.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    from subprocess import *
    def get_status_output(cmd, input=None, cwd=None, env=None):
        pipe =  Popen(
                 cmd, shell=True, cwd=cwd, env=env, stdout=PIPE, stderr=STDOUT
               )
        output, errors = pipe.communicate(input=input)
        assert not errors
        return pipe.returncode, output
     
    if __name__ == '__main__':
        status, output = get_status_output("python foo.py")
        print output
    - W

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 121
    Points : 64
    Points
    64
    Par défaut
    Merci, je vais regarder ça.
    Bon WE

  6. #6
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    oui, en effet , j'ai pas lu correctement.

    Bon os.system ne prévoit pas de sortie standard. Subprocess popen est en général plus indiqué .

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/03/2013, 10h02
  2. [2008] Récupérer le résultat d'un 'Execute SQL Task'
    Par Rymaya dans le forum SSIS
    Réponses: 3
    Dernier message: 30/03/2011, 15h17
  3. récupérer le résultat d’une requête CMD
    Par horkets dans le forum VB.NET
    Réponses: 4
    Dernier message: 28/08/2007, 12h00
  4. Réponses: 16
    Dernier message: 16/08/2007, 15h35
  5. Récupérer le résultat d'un EXECUTE
    Par Modo122-35 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/03/2006, 10h44

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