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