El 25 de octubre de 2010 18:38, Arnau Sanchez <pyar...@gmail.com> escribió:
> On Mon, 25 Oct 2010 17:58:34 -0400 Jose Caballero wrote: > > > Sí, estoy intentándolo con subprocess. Capturar el output y el RC lo > > consigo. De hecho eso ya lo tenía con popen2. Ver la salida "en directo" > es > > lo que me está dando más problemas... > > popen = subprocess.Popen(command, stdout=subprocess.PIPE) > for line in iter(popen.stdout.readline, ""): > print line, > 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) --------------------------------------------------- #!/usr/bin/env python import time for i in range(3): print time.time() time.sleep(3) --------------------------------------------------- Si intento ejecutarlo desde un programa main.py que es algo como esto: --------------------------------------------------- #!/usr/bin/env python import subprocess popen = subprocess.Popen('./cmd.py', stdout=subprocess.PIPE) for line in iter(popen.stdout.readline, ""): print line, --------------------------------------------------- Los tres valores del tiempo se muestran en una sola vez, al final, en lugar de uno cada tres segundos, que es lo que necesito.
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/