subprocess en Python
Correr un comando, capturar su salida y revisar el código de salida.
import subprocess
import sys
terminado = subprocess.run(
[sys.executable, "-c", "print('desde un hijo')"],
capture_output=True, text=True, check=True)
print(terminado.returncode, terminado.stdout.strip())
fallido = subprocess.run([sys.executable, "-c", "raise SystemExit(3)"],
capture_output=True, text=True)
print(fallido.returncode)
try:
subprocess.run([sys.executable, "-c", "raise SystemExit(1)"], check=True)
except subprocess.CalledProcessError as exc:
print("lanzada:", exc.returncode)
Cómo funciona
capture_output=Truerecoge stdout y stderr.check=Truelanza cuando el comando falla.- Pasa una lista, nunca una cadena, salvo que de verdad quieras un shell.
Palabras clave y builtins usados aquí
asexceptprinttry
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 496
- Tokens
- 129
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 74 segundos.
Paso 4 de 4 en Línea de comandos; paso 25 de 41 en Herramientas de dominio.