[Python-es] Ejecutar comandos python/glade

Flavio Danesse fdanesse en gmail.com
Vie Nov 21 14:04:59 CET 2014


En lugar de usar Popen que es obsoleto, usa subprocess.
Cambia esto:
p = Popen(self.comando2, stdout=PIPE, stderr=PIPE, shell=True)
    pstdout, pstderr = p.communicate()
    tmpout.write(pstdout)
    tmpout.seek(0)
    tmpout.read()

Por algo como esto:
p = subprocess.Popen(self.comando2, shell=True, stdin=subprocess.PIPE,
    stdout=open(STDOUT, "w+b"), stderr=open(STDOUT, "r+b"),
    universal_newlines=True)

self.salida = open(STDOUT, "r")

Luego cada cierto tiempo haces:
self.salida.readline()

No probé el código, solo es un ejemplo al vuelo de lo que debes hacer.
El tema está en redirigir la salida del subproceso que quieres lanzar hacia
un archivo que puedas leer y luego, cada cierto lapso de tiempo, digamos
300 milésimas de segundo o algo así, lees la salida y pasas los datos al
widget que desees.

Si necesitas ayuda mas específica me avisas que tengo mucho código hecho
con subprocess para cosas más complejas, seguro encuentras algo que puedas
adaptar para esto

2014-11-21 9:35 GMT-02:00 Alejandro Acosta <alejandroacostaalamo en gmail.com>:

> Hola Hiko,
>   Interesante tu respuesta a Jesus..., pero no entiendo como un try
> puede mostrar los resultados "en tiempo real" en un text view. En
> realidad es posible y desconozco como?
>
> Saludos y gracias,
>
> Alejandro,
>
>
> 2014-11-20 22:23 GMT-04:30 Hiko hitokiri <lastvnm en gmail.com>:
> > ejecutalo con un try
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org
> > https://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
> >
>
>
>
> --
> =====
> ^A.......o$
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20141121/dc2c00d4/attachment.html>


Más información sobre la lista de distribución Python-es