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”].
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.
-
-
Hola. Muchas gracias, saludos.
-
-
Que valores se le puede asignar a returncode?
-
Creo que no existe subprocess.run? es subprocess.call, no?
-
Perdón, sí existe en python 3.x, yo estaba probando en 2.7
-
Hola. Sí, creo que debí mencionar ese detalle. Saludos :D.
-
-
Gracias!
-
Gracias por visitar el blog Leonor. Saludos.
-
Deja una respuesta
Genial, muy claro.