5 minutos o menos: Ejecución de procesos con Subprocess

Hola amigos de Inetrnet. Mi nombre es Luis, y les doy la bienvenida a Mi Diario Python.


En el articulo de hoy veremos como podemos invocar procesos desde Python, utilizando la librería subprocess.


Sin más preámbulos, comencemos.


“5 minutos o menos”, es una sección del blog, en la cual te enseño algo sobre Python, y que no duraras mucho en leer.

 

Iniciar procesos con Subprocess

Para iniciar o ejecutar un proceso, lo único que debemos hacer es llamar al método run de subprocess. Veamos un ejemplo. Ejecutemos el comando: python --version desde el interprete de Python.
>>> import subprocess
>>> subrocess.run(["python", "--version"])
Python 3.6.4
CompletedProcess(args=['python', '--version'], returncode=0)
Como pueden observar, los argumentos los pasamos como una lista. En vez de escribir “python --version”, escribimos [“python”, “–version”].
Índice

Shell

Si intentaste ejecutar un comando como cd o mkdir, y no lo lograste, es porque para ejecutar este tipo de comando es necesario asignar el valor True al parámetro shell.
>>> subprocess.run(["mkdir", "Carpeta de Codigos"], shell=True)
CompletedProcess(args=['mkdir', 'Carpeta de Codigos'], returncode=0)

cwd

El parámetro cwd, indica la ubicación en la cual se ejecutara el comando.
>>> subprocess.run(["mkdir", "Otra carpeta"], shell=True, cwd="./Carpeta de Códigos")
CompletedProcess(args=['mkdir', 'Otra carpeta'], returncode=0)
De esta manera, creamos una carpeta llamada Otra carpetadentro de Carpeta de Códigos.
Muy interesante ¿No lo crees?.
Sin más nada que decir. Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.
  1. ra dice:

    Genial, muy claro.

    1. Luis Salcedo dice:

      Hola. Muchas gracias, saludos.

  2. ra dice:

    Que valores se le puede asignar a returncode?

  3. Anónimo dice:

    Creo que no existe subprocess.run? es subprocess.call, no?

  4. Anónimo dice:

    Perdón, sí existe en python 3.x, yo estaba probando en 2.7

    1. Luis Salcedo dice:

      Hola. Sí, creo que debí mencionar ese detalle. Saludos :D.

  5. Unknown dice:

    Gracias!

    1. Luis Salcedo dice:

      Gracias por visitar el blog Leonor. Saludos.

Deja una respuesta

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

Subir
SoftTero