Hola,

2011/1/25 Tony Peña <emperor...@gmail.com>:
> Hola estoy intentando probar el subprocess.Popen pero no entiendo bien como
> funciona pq
>
> un ejemplo hipotetico si quisiera ejecutar un comando como ls -lhR /
> yo ejecuto el comando con
>
> cmd = "ls -lhR /"
> subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).command()[0]
>
> y se me queda colgado o bloqueado el script hasta que no termine,
> necesitaria ver com seria el ejemplo mas claro de lo que he visto en las
> webs por ahi para poder salirme del proceso child y poder continuar con el
> script valorando segun la salida de ese comando otras cuestiones...
> alguna idea?

Yo suelo utilizarlo bastante para monitorizar programas que necesitan
una configuraición a través de por ejemplo stdin

import subprocess

 p = subprocess.Popen( cmd,  stdout = subprocess.PIPE, \
            stdin=subprocess.PIPE )
p.stdin.write ( run_file )
while True:
        o = p.stdout.readline()
        if o == '' and p.poll() != None:
             break
        print o, # Imprime una línea de stdout del subproceso lanzado arriba


Supongo que en vez del print o, tendrías algo que enlaza con tu GUI.

No sé si te es útil...

Saludos
Jose
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a