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

Publicado por Denis Doria em 19/06/2008

[ Hits: 12.517 ]

 


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

PyCharm no Debian 10 Buster

Vídeo aulas de lógica de programação usando Python

Python - pegar elemento aleatório de uma lista

Manipulando data e hora em Python com timedelta

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

  

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