pipe - Python - Programmation
Marsh Posté le 19-10-2007 à 01:46:07
Désoler du double poste , mais on ne peut pas éditer ...
J'ai donc continuer quelque recherche sur le module subprocess (j'ai fais une erreure dans le 1er message sur le nom du module honte a moi )
Pour en revenire au fait j'ai donc trouver 2 moyens de passer une commande :
p1 = Popen(["ls"], stdout=PIPE)
output = p1.communicate()
&
e = subprocess.Popen(["ls", "-a"], env={"PATH": "/usr/bin"})
Mais dans le 2em cas cela affiche directement le resulta a l'écran , pas moyen de le maitre dans une variable?
sinon la question du 1er sujet reste valide :
pipe = os.spawnl(os.P_NOWAIT, "/bin/bash" )
On ne peut pas écrire dans se processus qui a etait cree directement dans le programme?
Marsh Posté le 19-10-2007 à 21:42:33
Pour utiliser :
|
tu n'as qu'à spécifier les paramètres stdin, stdout, et stderr, comme indiqué dans http://docs.python.org/lib/node529.html .
Par défaut, ça prend les descripteurs du processus parent.
Marsh Posté le 19-10-2007 à 21:43:51
Et subprocess, c'est la méthode conseillé pour ouvrir des processus externes. Les autres interfaces seront marqués obsolètes dans la prochaine version de Python.
Marsh Posté le 19-10-2007 à 00:30:25
Slt all .
Voila mon problème :
pipe = os.spawnl(os.P_NOWAIT, "/bin/bash" )
cette ligne crée un nouveau processus (ici /bin/bash) et os.P_NOWAIT permet de continuer l 'éxecution de celui ci meme si le processus n'et pas fermer
La question : Comment ecrire dans se processus? pour y passer une commande ici ... .
Sinon j'ai vu sur quelque forum qu'il existait un module "subproccess" si quelqu'un aurais de la documentation sur se module (en francais si possible) car google n'et pas très bavare ... .
++