Tengo un pequeño problema con argparse
. Tengo una opción xlim
que es xrange
de una parcela. Quiero poder pasar números como -2e-5
. Sin embargo, esto no funciona: argparse
interpreta que este es un argumento posicional. Si lo hago -0.00002
funciona: argparse
lo lee como un número negativo. ¿Es posible haber leído en -2e-3
?Python Argparse: Problema con argumentos opcionales que son números negativos
El código está por debajo, y un ejemplo de cómo iba a ejecutar es:
./blaa.py --xlim -2.e-3 1e4
Si hago lo siguiente funciona:
./blaa.py --xlim -0.002 1e4
El código:
parser.add_argument('--xlim', nargs = 2,
help = 'X axis limits',
action = 'store', type = float,
default = [-1.e-3, 1.e-3])
Aunque puedo hacer que funcione de esta manera, realmente podría utilizar la notación científica. ¿Alguien tiene alguna idea?
Saludos
¿Cita la ayuda '-2e-5'? – nmichaels
De acuerdo con http://code.google.com/p/argparse/issues/detail?id=37, debería haberse solucionado. Compruebe si la versión de argparse que tiene es más nueva o la misma. – favoretti
@nmichaels Hola, ¿quieres decir "-2e-5"? Desafortunadamente, no funciona, creo que todavía lo interpreta como un argumento. El error exacto de './blah.py -xlim" -.2e-5 "1e5' es --xlim: esperado 2 argumento (s). Si uso \ - cree que es una cadena y luego se queja porque debería ser un flotador – Ger