Bueno pues me estaba un poco aburrido y tenia un reto que no tocaba mi IDLE de Python
Y me puse a jugar un rato como es de costumbre.

Vamos a ejecutar comandos desde un script, bueno primeramente necesitamos importa OS

Código: Seleccionar todo

import os
Depues de esto obtenemos un poco mas de informacion del metodo que vamos a utlizar

Código: Seleccionar todo

>>> help(os.popen)
Help on built-in function popen in module posix:

popen(...)
    popen(command [, mode='r' [, bufsize]]) -> pipe
    
    Open a pipe to/from a command returning a file object.
Bien entonces ya desde aqui no es dificil, sin decir que la potencia de python es grande solo no shace falta un poco de imaginacion.
Pasamos a ejecutar un comando y leer la respuesta entonces nuestro codigo quedaria asi

Código: Seleccionar todo

import os
comd = os.popen('ls -la')

for x in comd:
    print x
Y tendriamos una bonita respuesta como es

Código: Seleccionar todo

drwxr-xr-x  2 *** ***  4096 2011-12-14 17:15 cryptografia clasica
drwx------  3 *** *** 4096 2011-11-24 22:03 oracle
drwx------  2 *** ***  4096 2011-12-14 21:06 pdf

Entonces con os.popen obtenemos un objeto de tipo file

Código: Seleccionar todo

>>> comd = os.popen('ls -la')
>>> comd
<open file 'ls -la', mode 'r' at 0x176e5d0>
Nos regresa el nombre del file, que en este caso es el nombre del comando que se ejecuto, el modo en que se ejecuto y la direccion en memoria.
Y basta con un for, para recorrer el objeto e imprimir su contenido!

Código: Seleccionar todo

for x in comd:
    print x
Saludos a todos!
1337 & culture!
Responder

Volver a “Fuentes”