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

Publicado por Denis Doria em 19/06/2008

[ Hits: 12.483 ]

 


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.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Como fazer print() sem quebra de linha em Python

Livros de Python, Java e C++ de graça para download

Curso gratuito online de Python

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

CodeSkulptor - Interpretador de Python que roda direto no navegador

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts