obtener por consola la salida de un comando del sistema operativo

Jesús Espino jespinog en gmail.com
Dom Feb 11 23:26:55 CET 2007


Muy interesante, no lo sabia :)

El 11/02/07, Arnau Sanchez <arnau en ehas.org> escribió:
> Jesús Espino escribió:
>
> > En python con os.system la salida va a la salida estandar y el valor
> > de retorno es el  valor de salida del comando ejecutado. Para obtener
> > la salida que de el comando tendrias que usar tuberias, por ejemplo:
> >
> > tuberia = os.popen("nslookup google.es")
> > tuberia.read()
> >
> > La variable "tuberia" es un descriptor de fichero, y para hacer cosas
> > con el lo puedes usar como tal.
>
> Desde Python 2.4 se recomienda usar el módulo subprocess:
>
> http://docs.python.org/lib/module-subprocess.html
>
> Con él se trata de unificar las (excesivas) formas que hay de ejecutar comandos
> externos (os.system, os.spawn, os.popen, popen2, coommands).  De la
> documentación puedes sacar ideas para lo que quieres hacer. Por ejemplo:
>
> import subprocess
> output = subprocess.Popen(["nslookup", "google.es"],
>       stdout=subprocess.PIPE).communicate()[0]
>
> si quisieras obtener también el código de retorno podrías hacer:
>
> p = subprocess.Popen(["nslookup", "google.es"], stdout=subprocess.PIPE)
> output, retval = p.communicate()[0], p.returncode
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>




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