Mam mały problem z argparse
. Mam opcję xlim
, która jest xrange
z działki. Chcę móc przekazywać numery takie jak -2e-5
. Jednak to nie działa - argparse
interpretuje to jako argument pozycyjny. Jeśli wykonam -0.00002
działa: argparse
odczytuje go jako liczbę ujemną. Czy możliwe jest odczytanie w -2e-3
?Python Argparse: Problem z opcjonalnymi argumentami, które są liczbami ujemnymi
Kod jest poniżej, a przykładem na to, jak bym go uruchomić to:
./blaa.py --xlim -2.e-3 1e4
Gdybym wykonaj następujące działania:
./blaa.py --xlim -0.002 1e4
Kod:
parser.add_argument('--xlim', nargs = 2,
help = 'X axis limits',
action = 'store', type = float,
default = [-1.e-3, 1.e-3])
Chociaż mogę sprawić, że będzie działał w ten sposób, naprawdę wolałbym używać notacji naukowej. Ktoś ma jakieś pomysły?
Cheers
Czy cytowanie "-2e-5" pomaga? – nmichaels
Zgodnie z http://code.google.com/p/argparse/issues/detail?id=37 powinno ono zostać naprawione. Sprawdź, czy wersja argparse jest nowsza czy ta sama. – favoretti
@nmichaels Witam, masz na myśli "-2e-5"? To nie działa niestety, myślę, że nadal interpretuje to jako argument. Dokładny błąd z './blah.py -xlim" -.2e-5 "1e5' jest --xlim: oczekiwano 2 argumentów. Jeśli użyję \ - myśli, że jest ciągiem znaków, a następnie narzeka, ponieważ powinno być zmienne – Ger