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(&quot;opcoes -v e -a sao mutualmente exclusivas&quot;)
elif options.valor:
print &quot;fatorial(%s) = %s&quot; % (options.valor, fatorial(options.valor))
elif options.arquivo:
for linha in open(options.arquivo):
linha = int(linha)
print &quot;fatorial(%s) = %s&quot; % (linha, fatorial(linha))
else:
parser.error(&quot;nenhuma opcao foi escolhida, execute com -h para ajuda&quot;)
</code></pre>
<p>
[1] – http://docs.python.org/library/optparse.html