Python – Ejecutar comando en terminal de Linux

En el post de hoy te mostraré cómo ejecutar un comando de Linux desde el lenguaje de programación Python. Es decir, invocar un comando de la terminal de Linux pero desde Python.

Algo así como ejecutar o iniciar un programa desde Python, llamando a ejecutables o binarios de Linux.

El problema

Mi problema era que no se debe invocar directamente al comando, sino invocar a bash, de manera similar a cuando se invoca a cmd en Windows.

Lo que yo quería hacer era simple: ejecutar un comando de la terminal de Linux desde Python, tal y como si lo hiciera escribiendo.

Aquí te contaré lo que me funcionó por si te ocurre algo similar.

Ejecutar comando en bash desde Python

Al final terminé usando subprocess.Popen. El comando que quería ejecutar era:

gpionext start

Y normalmente pensaríamos que se invoca así:

subprocess.Popen(["/usr/bin/gpionext", "start"])

Ya que estamos invocando a gpionext, que está en /usr/bin/, pasándole el argumento start. Pero no, así no funciona.

La forma correcta es:

subprocess.Popen(["bash","/usr/bin/gpionext", "start"])

La única diferencia es que ahora estamos invocando a bash, pasándole el nombre del ejecutable y sus argumentos. Con esto ya no me generaba ningún error.

Y así es como podemos invocar comandos de Linux desde Python. Puede que a ti te funcione esto o te funcione algún otro método, puedes leer más en el sitio oficial.

Finalmente te dejo con más posts de Python.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *