subprocess.popen, capturar stdout :)

Arnau Sanchez arnau en ehas.org
Vie Nov 2 14:48:17 CET 2007


Oswaldo Hernández escribió:

> Ademas, hay otro problema añadido, tengo que capturar stdout y stderr 
> simultáneamente, los mensajes pueden venir en cualquier momento por 
> cualquiera de los dos canales. Como readline() es bloqueante, si espero 
> por stdin, no capturo los mensajes de stderr y a la inversa. Probe 
> utilizando read y os.read pero no me funcionaban bien (o no supe 
> hacerlos funcionar).

Por si acaso te sirve:

subprocess.Popen(..., stderr=subprocess.STDOUT, ...)

> Tomando la idea de utilizar un programa auxiliar he creado un programita 
> en C para hacer esta funcion. 

¡Pero eso mismo que has hecho en C se debería poder hacer en Python!
Si dices que pipes no se bloquea el programa, ya tienes la solución, 
impleméntalo con pipes también en Python (os.pipe).
_______________________________________________
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