Ejecutar comandos Shell en Python con os.system

Si en alguna ocasión, ante alguna necesidad de programación, has necesitado ejecutar comandos Shell en Python con os.system, tienes una opción interesante que te mostraré si sigues leyendo.

Python nos permite ejecutar un comando de shell que se almacena en una cadena usando os.system()

import os
#muestra el mensaje en la consola
os.system("echo mostrar mensaje en la consola")
output
mostrar mensaje en la consola

Al igual que os.system() en el ejemplo anterior, donde imprimimos con echo el mensaje en consola, podemos no usar echo y obtener una salida estándar (stdout) que no se muestra en consola.

Cuando damos una orden con os.system, el resultado positivo será igual a 0, o diferente de 0, en caso de que no se cumpla.

En este ejemplo, intentamos mover el directorio actual a un directorio que no existe, por tanto recibimos un error diferente de 0.

directorio_erroneo = os.system("cd directoriofalso")
print("cd directoriofalso da un codigo de error %d" % directorio_erroneo)
Output
sh: line 0: cd: directoriofalso: No such file or directory
cd directoriofalso da un codigo de error 256

Podemos emplear otros métodos más potentes para escribir comandos Shell en Python como subprocess().

Y hasta aquí, espero ayudar a alguien con este post.

Hacer preguntas es prueba de qué se piensa.

R. Tagore