2010/10/26 Ricardo Cárdenes Medina <ricardo.carde...@gmail.com>

>
>
> 2010/10/26 Jose Caballero <jcaballero....@gmail.com>
>
>
>
>> Nope. Me imprime todo el output al final, no a medida que se va generando.
>>
>> Por ejemplo, imaginemos que el command es "./cmd.py"
>> donde cmd.py es algo como esto (esto es un ejemplo tonto para probar)
>>
>>
> Hay dos problemas aquí. Por un lado está el de la lectura, que se
> resolvería con algo como lo que te ha comentado Arnau. Por otro lado está el
> de la producción del texto, que *TAMBIÉN* se ve afectada por los búfers.
>
> Si quieres que la cosa funcione y tienes control sobre el lado que produce
> el texto, asegúrate de volcar (flush) el búfer de stdout tras cada bloque de
> texto que quieras enviar.
>
>
Nota, en tu ejemplo anterior sería tan sencillo como:

#!/usr/bin/env python

import sys
import time
for i in range(3):
        print time.time()
        sys.stdout.flush()
        time.sleep(3)
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a