Pular para o conteúdo

Processar (parser) opções da linha de comando em Python

Dica publicada em Python / Introdução
Denis Doria thuck
Hits: 13.366 Categoria: Python Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Processar (parser) opções da linha de comando em Python

Para fazer um parser das opções da linha de comando no Python usamos o getopt, essa "função" existe em diversas linguagens, inclusive para shell script, mas aqui vamos tratar apenas da versão para Python.

Primeiro devemos importar o módulo:

import getopt

Para usar a primeira coisa que devemos criar é a lista de argumentos válidos:

lista_arg = 'hao:s:'

Sempre que houver ':' após um argumento, isso significa que o argumento precisa de um parâmetro, exemplo:

comando -o <valor>

Agora precisamos validar os argumentos vindos da linha de comando:

optlist , args = gnu_getopt(sys.argv[1:],lista_arg)

A variável optlist conterá uma lista de tuplas, um exemplo da lista do comando:

comando -h -o thuck

seria:

[('-h',''),('-o','thuck')]

A variável args conterá qualquer coisa que não for uma opção, ou seja, '-h buga', o buga irá para args e não para a tupla do -h, já que na lista_arg definimos o 'h' sem o ':'.

Feito isso precisamos tratar o caso de alguém passar um parâmetro errado:

try:

   optlist , args = gnu_getopt(sys.argv[1:],lista_arg)

except getopt.GetoptError:
   print "ERRO\n"
   sys.exit(1)

Agora basta fazer um loop e brincar com os argumentos.

Nenhuma dica encontrada.

Manipulando data e hora em Python com timedelta

Como criar e executar scripts Python pelo Android

Condições if em múltiplas linhas no Python

CodeSkulptor - Interpretador de Python que roda direto no navegador

Curso gratuito online de Python

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.