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@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a