[Python-es] Ejecutar comandos python/glade
Jesus Suarez
suarezmolina17 en gmail.com
Jue Nov 20 15:19:07 CET 2014
Buenos dias, estimados
Les escribo para solicitarles ayuda, estoy nuevo en programación bajo
python gtk usando Glade, mi problema es el siguiente mi app captura un
comando a través de un entry lo ejecuta y muestra el output en un textview,
para esto utilizo el siguiente codigo:
self.text_buffer = Gtk.TextBuffer()
url = self.entry1.get_text()
self.comando = "ping"
self.comando2 = str(self.comando)+" "+str(url)
tmpout = NamedTemporaryFile(mode='w+')
p = Popen(self.comando2, stdout=PIPE, stderr=PIPE,
shell=True)
pstdout, pstderr = p.communicate()
tmpout.write(pstdout)
tmpout.seek(0)
tmpout.read()
self.text_buffer.set_text(str(pstdout))
self.textview.set_buffer(self.text_buffer)
Esto funciona perfecto, el problema es que no me lo muestra en tiempo real
si no que espera a que finalice para mostrarlo, lo que trae como
consecuencia que si el comando no finaliza se bloquea la app, ejemplo:
ping google.com -c 4 (limite) funciona
ping google.com (sin limite) bloquea la app
La idea es que presente resultados en tiempo real no al finalizar.
espero contar con su ayuda, un abrazo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20141120/4dd00b02/attachment.html>
Más información sobre la lista de distribución Python-es