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.380 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.

Curso de Python grátis [Vídeo]

Aprendendo Python

Aprendendo a programar em Python, Ruby, PHP e outras linguagens (de graça)

Como fazer print() sem quebra de linha em Python

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

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.