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</p>

<p>if <strong>name</strong> == '<strong>main</strong>':
    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()</p>

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

<p>

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

Deixe um Comentário

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="" highlight="">