stdout, stderr y return code

Arnau Sanchez pyarnau en gmail.com
Vie Mayo 8 11:21:54 CEST 2009


Jose Caballero wrote:

> def comando(cmd):
>         err = ''
>         rc, out = commands.getstatusoutput(cmd +' 2> /dev/null')
>         if rc != 0:
>                 err = commands.getoutput(cmd +' 1> /dev/null')
> 
>         return out, err, rc

Hay cosas que se pueden hacer y cosas que *no* se pueden hacer. Éste código
pertenece al segundo grupo :-)

popen2.Popen3 no es muy difícil de usar:

import popen2
popen = popen2.Popen3("ls /etc/services noexiste", capturestderr=True)
stdout = popen.fromchild.read()
stderr = popen.childerr.read()
retcode = popen.wait() >> 8


http://www.python.org/doc/2.5.2/lib/module-popen2.html

http://www.python.org/doc/2.5.2/lib/popen3-objects.html

http://www.python.org/doc/2.5.2/lib/os-process.html#os-process


-- 
Desarrollador freelance
http://www.arnau-sanchez.com
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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