typestar

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

  1. capture_output=True recoge stdout y stderr.
  2. check=True lanza cuando el comando falla.
  3. Pasa una lista, nunca una cadena, salvo que de verdad quieras un shell.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 4 de 4 en Línea de comandos; paso 25 de 41 en Herramientas de dominio.

← Anterior Siguiente →