Lancement d'un programme externe

Résolu
boy63 Messages postés 7 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 17 juin 2009 - 11 juin 2009 à 09:03
boy63 Messages postés 7 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 17 juin 2009 - 17 juin 2009 à 14:58
Bonjour,

J'effectue en ce moment un script permettant de lancer une application externe. J'arrive à lancer cette application mais pas à la mettre en tache de fond. Je m'explique un peu plus: je fais une boucle ou je lance un programme avec de nouvelles données à chaque itération. Le programme lancé est Castem2009. J'aimerais pouvoir lancer ce programme dans une seule fenêtre et en tache de fond. Jusqu'à maintenant j'ai réussi à lancer le programme mais à chaque itération il m'ouvre une fenêtre dos. Je voudrais donc qu'à chaque itération il utilise la même fenêtre et que cette fenêtre soit en fond.
J'espère que j'ai été assez clair.
Si quelqu'un peu m'aider...
Voila la ligne de code que j'ai écrit pour le moment:
def Lancement():
    import os
    os.system('C:\Users\Boy\Desktop\Python\Stratifie_variable\Composite_stratifie_2.dgibi >C:/Users/Boy/Desktop/Python/Stratifie_variable/Essai &')

Merci d'avance pour vos réponses.

1 réponse

boy63 Messages postés 7 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 17 juin 2009
17 juin 2009 à 14:58
J'ai trouvé une solution qui me convient mais surement pas pour tout le monde!

Jusqu'à maintenant je lancé mon programme "main" dans l'IDLE et j'avais ce problème d'affichage de fenêtres.

Avec la commande:
run = subprocess.Popen(args=["C:/Cast3M/PCW_09/bin/castem09.bat"," C:\Users\Boy\Desktop\Python\Stratifie_variable\Composite_stratifie_2.dgibi "],stdout =subprocess.PIPE)

lines = run.stdout.readlines()

run.wait()
ET
le lancement du main par le *.py et non par l'IDLE (c'est à dire en
double cliquant sur l'icône du script) le problème est résolu. Pourquoi
je ne sais pas mais dans mon cas ça marche! Ca vient surement du fait
que par cette méthode le script est lancé dans une console. Mais je
peux dire une bêtise...
3
Rejoignez-nous