[Python-es] Subprocess imprimir salida en pantalla en un archivo

Javier Collado javier.collado en gmail.com
Mie Feb 10 18:20:33 CET 2010


Hola,

Lo que yo haría sería capturar la salida del comando:
salida =  subprocess.Popen('ls', stdout=subprocess.PIPE).communicate()[0]

una vez que se ha obtenido la salida, se puede imprimir y/o guardar en
un fichero según se desee (las dos cosas a la vez se pueden hacer si
se utiliza logging y se configura adecuadamente).

Si quieres capturar toda la salida (incluida la de error), entonces
habría que añadir stderr=subprocess.STDOUT

Un saludo,
    Javier

P.D. 'shell = True' sirve para pasar el comando a través de una shell
para expandir variables, parsear los argumentos, etc.

El día 10 de febrero de 2010 18:04, José Luis Torre Hernández
<joseluistorrehernandez en gmail.com> escribió:
> Hola Gabriel:
>
> Puedes hacer lo siguiente (aunque no lo he probado):
>
> subprocess.call("ls -lR > /tmp/listado", shell =True)
>
> Aunque no recuerdo para qué era la opción shell=True
>
> Saludos
> José Luis Torre
>
>
> El 10 de febrero de 2010 17:57, Gabriel Rech <rechgab en gmail.com> escribió:
>>
>> Hola a todos!
>> Estoy corriendo desde Python, un programa que se corre normalmente desde
>> terminal de linux.
>> Para esto estoy usando el modulo subprocess. Basicamente lo que tengo es
>> esto...
>>
>> subprocess.call(process, shell = True)
>>
>> Esto funciona bien. Ahora, el asunto es que me gustaría que mi script
>> guardara la salida que el programa produce y muestra en pantalla, en un
>> archivo.
>> Es posible esto?
>>
>> Desde ya, muchas gracias
>>
>> Gabriel
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>



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