[Python-es] duda con subprocess.Popen
Arnau Sanchez
pyarnau en gmail.com
Mar Ene 25 18:33:09 CET 2011
On Tue, 25 Jan 2011 17:13:39 +0000 Jose Gomez-Dans wrote:
> 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
En esos casos iter() es bastante útil:
popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, stdin=subprocess.PIPE)
popen.stdin.write(indata)
for line in iter(popen.stdout.readline, ""):
print line,
Pero de todas formas él necesita esto para pygtk, así que no le sirve porque
tiene que devolver el control al GUI inmediatamente o se queda congelado.
Más información sobre la lista de distribución Python-es