Daemonio
(usa Slackware)
Enviado em 26/08/2010 - 06:54h
optlist , args = gnu_getopt(sys.argv[1:],lista_arg)
optlist => É uma lista de tuplas. Cada tupla é um par ("opção","argumento"). Se nenhuma opção é encontrada na linha de comando, então essa lista é vazia.
args => Argumentos a mais. Se determinada opção não recebe argumento, então esse argumento desconhecido é enviado para cá. Veja que é argumento e não opção, porque opções desconhecidas geram exceções.
lista_arg => Lista de opções que seu script recebe. As opções precedidas de ':' recebem argumentos.
Em seu caso temos:
-n <nome>
-i <idade>
Tanto a opção -n e a -i recebem argumentos, então list_args vai ser 'n:i:'.
Exemplin bobo:
# sem imports e tratamento de exceção só pra
# economizar espaço :D
# ... e o vol comeu as indentações :(
optlist , args = gnu_getopt( sys.argv[1:], 'n:i:' ) ;
for (opcao,argumento) in optlist:
if opcao == '-n':
nome = argumento
elif opcao == '-i':
idade = argumento ;
print nome,' tem ',idade,'anos'
$ ./script -n 'Douglas' -i '9999'
Douglas tem 9999 anos
Veja se é isso mesmo.
t+