Fundamentos dos argumentos de linha de comando em Python
Trabalhar com argumentos de linha de comando é uma habilidade essencial para desenvolver scripts Python flexíveis e práticos. Em vez de dados fixos no código, você pode passar parâmetros diretamente ao executar o programa. Em Python, o módulo argparse é a ferramenta mais usada para isso, pois faz parte da biblioteca padrão e oferece recursos poderosos para processar argumentos.
Vantagens de usar argumentos de linha de comando
O uso de argumentos de linha de comando em Python traz diversos benefícios:
- Maior flexibilidade: altere o comportamento do programa sem modificar o código-fonte
- Facilidade na automação de tarefas e criação de ferramentas CLI
- Integração simples com pipelines e processos CI/CD
- Testes mais fáceis com diferentes parâmetros
- Reutilização do código em diferentes cenários
Exemplos de programas que usam argumentos de linha de comando
Muitas ferramentas populares utilizam argumentos de linha de comando:
- Gerenciadores de pacotes (pip, apt, yarn)
- Ferramentas de arquivos (tar, zip, rsync)
- Sistemas de build (make, cmake, gradle)
- Ferramentas de desenvolvimento (git, docker, kubectl)
- Scripts próprios para automatizar fluxos de trabalho
Importando e configurando o módulo argparse
O módulo argparse está incluído na biblioteca padrão do Python desde as versões 2.7 e 3.2. Não é necessário instalar pacotes adicionais.
import argparse
Criando um parser básico
Para começar, crie uma instância da classe ArgumentParser:
parser = argparse.ArgumentParser(description="Descrição do programa")
Primeiro exemplo com argparse
Veja um script simples que recebe um nome de usuário e exibe uma saudação personalizada:
import argparse
parser = argparse.ArgumentParser(description="Programa de saudação simples")
parser.add_argument("nome", help="Nome do usuário")
args = parser.parse_args()
print(f"Olá, {args.nome}!")
Execute o script da seguinte forma:
python script.py João
Resultado:
Olá, João!
Tipos de argumentos no argparse
Argumentos obrigatórios
Argumentos obrigatórios são parâmetros necessários para executar o programa. Eles são definidos sem prefixos e devem ser fornecidos pelo usuário.
parser.add_argument("arquivo", help="Nome do arquivo para processar")
parser.add_argument("diretorio_saida", help="Diretório para salvar os resultados")
Argumentos opcionais
Argumentos opcionais geralmente começam com um hífen (-) para a forma curta ou dois hífens (--) para a forma longa. Eles adicionam funcionalidades extras ao programa.
parser.add_argument("-v", "--verbose", help="Exibir informações detalhadas", action="store_true")
parser.add_argument("-o", "--output", help="Arquivo para salvar os resultados")
Trabalhando com tipos de dados nos argumentos
Por padrão, todos os argumentos são tratados como strings. Para especificar outro tipo de dado, use o parâmetro type:
parser.add_argument("numero", type=int, help="Digite um número inteiro")
parser.add_argument("preco", type=float, help="Preço do produto")
parser.add_argument("ativo", type=bool, help="Ativar a função")
Ao passar o n