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 :

Attendre la fin d'un script externe avant de continuer le script python


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Points : 24
    Points
    24
    Par défaut Attendre la fin d'un script externe avant de continuer le script python
    Bonjour,

    Je suis face à un problème que je n'arrive pas à résoudre même en essayant les différents postes et en lisant la faq.

    Durant mon script python je dois faire appel à un script extern, et je dois attendre la sortie de ce script pour continuer car il me faut le résultat.
    Le problème et que le script python n'attend pas.
    J'explique quand meme les solutions que j'ai testé :

    Le os.system -> qui normalement devrait attendre n'attend pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            out_profit = tempfile.mktemp(prefix="PROFITRES")
            os.system(PROFIT+" -h -f %s > %s"%(protocole_file,out_profit))
     
            f_out = open(out_profit,"r")
            print f_out.read()
    Ne fonctionne pas

    Je précise que le program externe que j'appelle est un program avec interpreteur. On tappe les commandes et ça renvoie les résultats mais le temps de calcul est assez long.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            import subprocess
            out_profit = tempfile.mktemp(prefix="PROFITRES")
     
            p = subprocess.Popen(PROFIT+" -h -f %s > %s"%(protocole_file,out_profit), shell=True)
            sts = os.waitpid(p.pid, 0)
            f_out = open(out_profit,"r")
            print f_out.read()
    ne fonctionne pas.


    Auriez vous une solution (de préférence facile à comprendre) à me proposer qui ne soit pas lourde. Au point de faire des sleeps et des lectures des top sous linux.
    Merci par avance,
    Mister

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Tu devrais pouvoir t'en sortir avec subprocess : http://docs.python.org/library/subpr...cing-os-system

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/10/2015, 10h00
  2. Réponses: 5
    Dernier message: 11/07/2015, 20h16
  3. Réponses: 6
    Dernier message: 18/04/2012, 14h57
  4. Réponses: 4
    Dernier message: 20/11/2006, 10h44
  5. attendre la fin de chargement d'une page avant de continuer le script
    Par jibouze dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/06/2006, 09h50

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