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

Gabriel Rech rechgab en gmail.com
Mie Feb 10 21:50:02 CET 2010


Antes que nada gracias a todos por su ayuda. Con un poco de lo que me
dijeron y otro poco de google, pude resolverlo.
Me quedó así, espero que a alguien más le sirva...

salida = open("output.txt", "w")
cline = "cmd" #son muchos así que por eso los asigno a una variable
child = subprocess.Popen(str(cline), shell=True, stdout=subprocess.PIPE)
resultado = child.stdout.read()
print >>salida, resultado

Con esto, me queda toda la salida de la pantalla, guardada en el archivo
output.txt. Respondiendo a Arnau, creo que esta manera es bastante
pythonica, o no?

Saludos!!!
Gabriel

El 10 de febrero de 2010 20:02, Arnau Sanchez <pyarnau en gmail.com> escribió:

> On 10/02/10 19:37, Olemis Lang (Simelix) wrote:
>
>  Para eso es el parámetro shell, no? Si se le dice shell=True entonces
>> solo hay que especificar la línea de comandos sin preocuparse en
>> separarla (CMIIW ;o).
>>
>
> Los guardianes de la ortodoxia se llevarán las manos a la cabeza si lanzas
> una shell (que se agencia su buen pedazito de memoria) cuando de hecho no la
> necesitas para ejecutar el comando (y más aún si sólo lo haces por
> comodidad).
>
> ;-)
>
>
> --
> Desarrollador freelance
> http://www.arnau-sanchez.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/
>



-- 
Gabriel E. Rech
Lic. en Ciencias Biológicas (Estudiante de Doctorado)
Centro Hispano-Luso de Investigaciones Agrarias (CIALE),
Universidad de Salamanca
Campus de Villamayor, Salamanca, España.
rechgab en usal.es
http://bioinformatica.vil.usal.es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100210/06c029ef/attachment.html>


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