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

Aprendendo Python

Livros gratuitos sobre Python e outros

Python para Zumbis - curso gratuito de Python

Instalando o Python 3.3 no Ubuntu 12.04

Python - locale.Error: unsupported locale setting [Resolvido]

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.