On Tue, 25 Jan 2011 12:08:29 -0400 Tony Peña wrote: > cmd = "ls -lhR /" > subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).command()[0]
Querías decir communicate(), ¿no? http://docs.python.org/library/subprocess.html#subprocess.Popen.communicate "Read data from stdout and stderr, until end-of-file is reached. Wait for process to terminate." O sea, que no te sirve. Lo que tienes que hacer es guardar el objeto popen para luego trabajar con él. Ten en cuenta que el simple hecho de instanciarlo ya arranca el proceso: popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) Ahora por ejemplo podrías hacer popen.stdout.read(), pero esto de nuevo es bloqueante. Como dices que estás con pygtk deberías mirarte: http://www.pygtk.org/pygtk2tutorial/sec-MonitoringIO.html Con esto deberías ser capaz de ir leyendo la salida de popen.stdout poco a poco (desde callbacks), y el bucle de eventos del GUI seguirá funcionando sin problemas. arnau _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/