Scripts Python com optparse

Dica rápida, se você costuma usar Python para fazer scripts e toda vez que vai reutilizar um deles tem que olhar o código fonte pra lembrar como usar, você precisa conhecer o optparse[1].

Dê uma olhada na documentação[1], que é bem completa e no exemplo abaixo, para ver o quão prático é utilizar este módulo.

def fatorial(n):
    resultado = 1
    while n > 0:
        resultado = n*resultado
        n -= 1
    return resultado

if __name__ == '__main__':
    from optparse import OptionParser
    parser = OptionParser()
    parser.add_option('-a', '--arquivo',
                      dest='arquivo', help='arquivo com os fatoriais desejados')
    parser.add_option('-v', '--valor', type='int',
                      dest='valor', help='valor a ser calculado')
    (options, args) = parser.parse_args()

    if options.valor and options.arquivo:
        parser.error("opcoes -v e -a sao mutualmente exclusivas")
    elif options.valor:
        print "fatorial(%s) = %s" % (options.valor, fatorial(options.valor))
    elif options.arquivo:
        for linha in open(options.arquivo):
            linha = int(linha)
            print "fatorial(%s) = %s" % (linha, fatorial(linha))
    else:
        parser.error("nenhuma opcao foi escolhida, execute com -h para ajuda")

[1] – http://docs.python.org/library/optparse.html

Esta entrada foi publicada em Sem categoria e marcada com a tag . Adicione o link permanenteaos seus favoritos.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">