ExpertiDict

Python · Intermediário · Inglês · Técnico

subprocess

/sʌbˈpɹɑsɛs/substantivo

Módulo da biblioteca padrão para executar outros programas a partir do Python, capturando saída e código de retorno. A função recomendada para uso geral é subprocess.run.

Onde usar

Aparece em scripts de automação que chamam git, ffmpeg ou outros comandos. O mais seguro é passar uma lista de argumentos e deixar shell=False, evitando injeção de comandos.

Em código

import subprocess

r = subprocess.run(
  ['git', 'status', '--short'],
  capture_output=True, text=True, check=True,
)
print(r.stdout)

Exemplos

Call git with subprocess.run and check the exit code.

Chame o git com subprocess.run e confira o código de saída.

Never use shell=True with user input.

Nunca use shell=True com entrada do usuário.

Cuidado

Não monte o comando com texto vindo do usuário e shell=True, pois isso permite que a entrada execute comandos arbitrários.

Veja também

Todos os termos de Python