Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/02/2010, 12:31
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: output de subprocess.Popen()

Debo aclarar varios puntos:
Código:
>>> tmpout = tempfile.NamedTemporaryFile(mode='w+'); #No termina con punto y coma
Ahora subprocess.(STDOUT | STDIN | STDERR | PIPE) son flags en otras palabras no son las que enteros.

Código:
ppn.stdout.read()
Usa ppn.communicate() en su lugar.


Ejemplo:
Código:
from subprocess import STDOUT, PIPE, Popen
from tempfile import NamedTemporaryFile

command = "ls"
tmpout = NamedTemporaryFile(mode='w+')
p = Popen(command, stdout=PIPE, stderr=PIPE, shell=True)
pstdout, pstderr = p.communicate()
tmpout.write(pstdout)
tmpout.seek(0) #Regresamos al principio del archivo
tmpout.read()