Hola,
Mi problemas es el siguiente, quiero obtener la salida de un comando y ponerla en un objeto file con la funcion Popen() del modulo subprocess. Bueno, en teoria se haria de esta manera...
Código:
>>> import subprocess, tempfile
>>> tmpout = tempfile.NamedTemporaryFile(mode='w+');
>>> ppn = subprocess.Popen("dir", stdout=tmpout, stderr=subprocess.STDOUT, shell=True);
>>> tmpout.read()
'' # Por que no sale nada???
>>>
y si en vez de usar un objeto file como parametro stdout utilizo el subprocess.PIPE la salida sale perfectamente...
Código:
>>> import subprocess
>>> ppn = subprocess.Popen("dir", stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True);
>>> ppn.stdout.read()
' El volumen de la unidad C no tiene etiqueta.\r\n El n\xa3mero de serie del volumen es blablabla...'
>>>
si saben por que me ayudan..
Gracias
Salu2