[pyar] redireccionar stdout a un proceso python

Facundo Batista facundobatista en gmail.com
Mie Oct 9 12:18:00 ART 2013


2013/10/9 Santiago Paleka <santiagopaleka en gmail.com>:

> Si lo hago desde la consola python, como me parece que estás haciendo vos,
> funciona, ahora desde ipython (que es donde estaba probando) y escribiendo
> el programa y ejecutándolo con python, se queda esperando que termine.
> probá haciendoló en un .py y correlo, a ver si te hace lo mismo.
> yo hice:
>
> from subprocess import Popen, PIPE
> pipe = Popen(["./prints"],stdout=PIPE)
> while 1:
>     print pipe.stdout.read(4)
>
> Lo ejecuto y nada,

Con el mismo .C que pasé yo (lo dejo acá, para simplificar,
http://linkode.org/nC097jI15u2eR2CKTyCxO3 ), ejecutando también tipo
programa, obtengo:

(le puse tiempos, así se ve que va mostrando antes de terminar)

$ python tt.py
1381331628.9 'sali'
1381331628.9 'da 0'
1381331628.9 '\r\nsa'
1381331629.9 'lida'
1381331629.9 ' 1\r\n'
1381331629.9 'sali'
1381331630.9 'da 2'
1381331630.9 '\r\nsa'
1381331631.9 'lida'
1381331631.91 ' 3\r\n'

Este es el código del programa:
http://linkode.org/8QMxP5bro8X2a97SBAege5/mrvEp5HbTigGpEbfEbDPR5 (en
el nodo 1 está lo que hice desde la terminal).

BTW, lo probé con Python 2.7.5 y 3.3.2, ¿vos qué versión tenés?

Lo último: fijate que en el código en C yo usé el fflush distinto que vos...

Slds.

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Twitter: @facundobatista


More information about the pyar mailing list