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

Gabriel Rech rechgab en gmail.com
Mie Feb 10 23:25:34 CET 2010


Gracias por tu comentarios Arnau,
voy a hacer el child.wait() como tu me recomiendas. El archivo si lo cierro
y voy a mirar lo del comando with a ver de que se trata.
En realidad no se si tengo mucho derecho a declarar si esto es pythonico o
no, seguramente tu tienes razón, esto por dos razones: 1) Soy biólogo (uno
al que le gustan estas cosas, pero biólogo al fin), jejeje y 2) Hasta hace 4
meses no tenía idea de programación, así que recién estoy aprendiendo, así
que soy muuuuy novato, jeje...

Saludos y gracias de nuevo
Gabriel

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

> On 10/02/10 21:50, Gabriel Rech wrote:
>
>  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
>>
>
> Se me ocurren algunos comentarios:
>
> - Al final deberías hacer un child.wait() o vas a dejar el proceso
> 'zombie'. Las soluciones que te hemos planteado usan communicate() -entre
> otras cosas- para que no tengas que preocuparte de esos detalles.
>
> - Veo que mi apunte de no lanzar una shell cuando no es imprescindible ha
> caído en saco roto :-)
>
> - ¿Cierras el fichero? Mírate el operador "with", te puede ser útil:
>
> http://effbot.org/zone/python-with-statement.htm
>
> - No sé si "print >> ..." es pythonico o no, pero personalmente verlo me
> produce algo parecido al dolor físico ;-)
>
> arnau
>
> p.d.: > lanzas una shell (que se agencia su buen pedazito de memoria)
> cuando
>
> Los guardianes de la ortografía me sabrán perdonar esa "z"...
>
>
> --
> 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/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100210/820600f2/attachment.html>


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