El 25 de octubre de 2010 19:20, Ricardo Cárdenes Medina < ricardo.carde...@gmail.com> escribió:
> > > 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) > > > Muchísimas gracias. Lo acabo de probar y parece que funciona. No conocía flush(). Ya estoy más cerca de resolver mi problema. Gracias por la ayuda.
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/