Python Argparse: проблема с необязательными аргументами, которые являются отрицательными числами

У меня небольшая проблема с argparse . У меня есть опция xlim , которая является xrange графика. Я хочу иметь возможность передавать числа вроде -2e-5 . Однако это не работает - argparse интерпретирует, что это позиционный аргумент. Если я сделаю -0.00002 , это сработает: argparse читает его как отрицательное число. Можно ли читать в -2e-3 ?

Код ниже, и пример того, как я бы его запустил:

./blaa.py --xlim -2.e-3 1e4 

Если я сделаю следующее, он сработает:

./blaa.py --xlim -0.002 1e4 

Код:

parser.add_argument('--xlim', nargs = 2,
                  help = 'X axis limits',
                  action = 'store', type = float, 
                  default = [-1.e-3, 1.e-3])

Хотя я могу заставить его работать таким образом, я бы предпочел использовать научную нотацию. У кого-нибудь есть идеи?

Ура

28
задан jhoepken 25 October 2016 в 08:43
поделиться