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 :

Popen et WAIT


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 32
    Par défaut Popen et WAIT
    Bonjour à tous.
    J'aurais besoin d'un petit coup de main.

    J'ai fais un petit script en python qui exécute des appli en batch.
    Une fois qu'il a exécuté les appli (batch) il envoi un mail pour confirmer qu'il a fini l'appli.

    Bon voici mes deux problème.

    Voici le type de code que je place pour lancer le batch.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    popen("start /wait cmd.exe /K starter.bat")
    Le batch fait différentes opérations (utilisé par un programme bien précis).
    Cela prend au moins 5 minutes pour qu'il face tout son boulot.

    Quand j'utilise ce code, il exécute le batch puis il passe directement a l'étape suivante dans mon script donc l'envoi du mail ...

    - J'aimerais qu'il exécute le batch, attende que celui-ci soit fini puis après continue le script python donc appliquer un wait.

    Pour tester rien de tels que un bon vieux ping ^^

    - Et perfectionner le script de façon à retirer ce qu'il s'affiche sur le batch dans un fichier txt.

    D'avance merci.
    Passez un bon weekend

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut,

    Deux questions :

    Tu lances le script python dans une console ?

    Le batch retourne des données dans cette console ?

    Si oui, ces données sont récupérables par python.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 32
    Par défaut
    Salut,
    Je lance le script python en console effectivement.

    Par contre le batch retourne pas des données particulière.
    Il affiche juste a la fin, la ou il y a eu des erreurs lors de la copie etc ou autre et puis s'arrête (grâce à la fonction EXIT).
    C'est un batch qui mélange copie de données, lancement de services etc...

    Je viens de penser que en fait je peux écrire le contenu du batch dans un fichier txt. Mais avec le popen je vois pas ou placer la fonction >monfichier.txt

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 32
    Par défaut
    ou si non je pensais que au lieu d'utiliser popen on pourrait utliser execl ou subprocess mais je ne suis pas assez expert pour savoir qu'elle est le mieux.
    J'attends vos conseils

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    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 696
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    from subprocess import Popen
    p = Popen("start /wait cmd.exe /K starter.bat")
    p.wait()
    Pour le reste, si vous avez la flemme de lire la doc, vous pouvez toujours utiliser le wrapper que j'ai posté ici
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. subprocess.Popen wait indéfiniment
    Par Autiwa dans le forum Général Python
    Réponses: 1
    Dernier message: 03/07/2015, 22h00
  2. [oracle 10g: dbshut] Waiting for smon to disable tx recovery
    Par jean-jacques varvenne dans le forum Oracle
    Réponses: 3
    Dernier message: 05/05/2009, 18h46
  3. [débutant][Thread] wait et NotifyAll
    Par norkius dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 14/03/2005, 15h28
  4. Wait cursor et accessibilité des menus
    Par Depteam1 dans le forum MFC
    Réponses: 3
    Dernier message: 23/09/2004, 19h01
  5. BIOS - WAIT (AT,PS)
    Par Biglo dans le forum x86 16-bits
    Réponses: 4
    Dernier message: 18/02/2003, 20h50

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