[Python-es] 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).
Más información sobre la lista de distribución Python-es