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í:

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:

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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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