[Python] Lancer une appli via python

Résolu/Fermé
Utilisateur anonyme - 12 mai 2006 à 17:36
awalter1 Messages postés 7 Date d'inscription vendredi 8 septembre 2006 Statut Membre Dernière intervention 14 mars 2023 - 8 sept. 2006 à 10:51
Bonjour
J'utlise la méthode Popen() pour lancer une application, mais je voudrais savoir si on pouvait lancer une application en y joignant un fichier.
Je m'explique :
C'est comme si avec la méthode Popen(), je voulais lancer un programme en python.
Si je met : Popen('python'), il me lance bien pyton dans mon terminal, mais il faut qu'ensuite j'ouvre un fichier .py pour utiliser python.
Je voudrais savoir si on peut directement faire :
Popen('python toto.py'), où un truc du style.
Merci

6 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
15 mai 2006 à 10:54
communicate n'est utile que s'il y a des allers-retours entre l'application lancée et ton programme (exemple: l'application lancée pose des questions et attend une réponse (habituellement tapée au clavier par l'utilisateur).

Si tu veux juste lancer le programme en lui donnant des paramètres et récupérer le contenu, communicate() n'est pas utile.


Pour passer des paramètre, il suffit de les donner sous forme de liste à popen.

Exemple: Je lance le programme compress et je lui passe 2 options:
-V et un nom de fichier:

p = subprocess.Popen(args=["compress","-V",nomdefichier], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
outputlines = p.stdout.readlines()
p.wait()
print outputlines



(Là en prime le récupère le texte qu'a affiché le programme dans outputlines)
19
Utilisateur anonyme
15 mai 2006 à 11:07
Ok je te remercie.
Pour l'instant j ai encore quelques soucis mais je cherche....
0
Utilisateur anonyme
15 mai 2006 à 12:10
Euh encore une petite question...
C'est possible de passer le fichier à exécuter avec stdin par un Pipe?
0