Subprocess y stdin.write

Alex sinnerencia en gmail.com
Sab Feb 16 14:09:08 CET 2008


Buenas. 

Me he quedado clavado en un subprocess, y la verdad, no sé salir. 

import subprocess 
curl = subprocess.Popen( ["curl"], 
                 stdin=subprocess.PIPE, stdout=subprocess.PIPE,
                 stderr=subprocess.STDOUT)
curl.stdin.write("--help\n")
linea = curl.stdout.read()
print linea


Quiero utilizar el curl (peticiones http), pero no me deja agregar ningúna 
opción con el stdin.write.

Lo ejecuto, y me resuelve esto, con el ERIC

>>curl: try 'curl --help' or 'curl --manual' for more information

Y si lo ejecuto por shell, de vez en cuando salta esto

~/python$ python subpro2.py
Traceback (most recent call last):
  File "subpro2.py", line 5, in <module>
    curl.stdin.write("--help\n")
IOError: [Errno 32] Broken pipe


Buscando por ahí, he encontrado algo de que se cierra el popen antes de 
terminar el proceso, y se resuelve con pipelines, pero ni idea de cómo 
hacerlo. 


Gracias por adelantado
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es