Como passar argumentos em scripts Python via terminal
Ao desenvolver scripts em Python que precisam de parâmetros dinâmicos, uma prática comum é utilizar argumentos passados diretamente pelo terminal. Isso torna o script mais flexível, reutilizável e adaptável para diferentes cenários, como automações, tarefas programadas (cron) ou integração com outros sistemas.
Introdução ao uso de sys.argv
O módulo sys
do Python contém uma lista chamada argv
, que armazena os argumentos passados para o script durante a execução. Essa lista inclui:
sys.argv[0]
: o nome do script em si;sys.argv[1]
em diante: os argumentos fornecidos pelo usuário.
Exemplo prático
Veja abaixo um exemplo básico de como utilizar sys.argv
para capturar um argumento enviado pelo terminal:
import sys
print(sys.argv[1])
Salve esse código em um arquivo chamado script.py
. Agora, abra o terminal (cmd, PowerShell ou bash) e execute o script da seguinte maneira:
python script.py qrodrigob
O resultado será:
qrodrigob
Nesse caso, qrodrigob
é o argumento fornecido pelo usuário. O Python acessa esse valor através de sys.argv[1]
.
Como lidar com múltiplos argumentos
Você pode passar quantos argumentos quiser, e acessá-los individualmente:
import sys
print("Argumento 1:", sys.argv[1])
print("Argumento 2:", sys.argv[2])
print("Argumento 3:", sys.argv[3])
Executando o script com:
python script.py um dois tres
O resultado será:
Argumento 1: um Argumento 2: dois Argumento 3: tres
Verificando a quantidade de argumentos
É importante sempre validar a quantidade de argumentos para evitar erros como IndexError
. Um exemplo com validação básica:
import sys
if len(sys.argv) > 1:
print("Argumento recebido:", sys.argv[1])
else:
print("Nenhum argumento foi passado.")
Aplicações práticas
O uso de argumentos via linha de comando é comum em:
- Scripts de automação para backups ou tarefas agendadas;
- Execução de rotinas com parâmetros variáveis (ex: nome de arquivo, ID de usuário);
- Ferramentas de linha de comando personalizadas em Python.
Considerações finais
O recurso sys.argv
é extremamente útil para personalizar a execução de scripts Python, tornando seu código mais modular e reaproveitável em diferentes contextos. Ao trabalhar com vários argumentos ou quando for necessário um parser mais completo, considere também o uso do módulo argparse
, que oferece funcionalidades mais avançadas como argumentos opcionais, tipos de dados e mensagens de ajuda automáticas.
Documentação recomendada:
Essas boas práticas ajudam a garantir que seus scripts sejam mais profissionais, seguros e fáceis de manter.