miércoles, 6 de marzo de 2013

Ejecutar comandos del sistema con Python


Para poder ejecutar comandos externos existe una gran variedad de opciones, en este post mostraremos las que consideramos más simples. Ésta requiere de que importemos una funcionalidad que no se encuentra disponible por defecto, es el módulo “commands”, el cuál cuenta con un gran número de métodos, en particular utilizaremos el denominado “getoutput”.

import commands
resultado = commands.getoutput("ls /var")
print resultado

Salida del print:
backups cache games lib local lock log mail opt run spool state tmp vztmp www

Como se puede ver, solo debemos pasar como parámetro el comando que pretendemos ejecutar entre comillas para poder recibir como retorno de la función el texto que hubiera sido impreso por pantalla.

Otra forma de realizar esta tarea es utilizando "os":
import os
resultado = os.popen('ls').read()
print resultado

Salida del print:
backups cache games lib local lock log mail opt run spool state tmp vztmp www