Tôi gặp sự cố nhỏ với argparse
. Tôi có một tùy chọn xlim
là xrange
của một âm mưu. Tôi muốn có thể chuyển số như -2e-5
. Tuy nhiên, điều này không có tác dụng - argparse
diễn giải đây là một đối số vị trí. Nếu tôi làm -0.00002
hoạt động: argparse
sẽ đọc số này làm số âm. Có thể đọc được trong -2e-3
không?Python Argparse: Vấn đề với các đối số tùy chọn là số âm
Mã này là dưới đây, và một ví dụ về làm thế nào tôi sẽ chạy nó là:
./blaa.py --xlim -2.e-3 1e4
Nếu tôi làm như sau hoạt động:
./blaa.py --xlim -0.002 1e4
Mã:
parser.add_argument('--xlim', nargs = 2,
help = 'X axis limits',
action = 'store', type = float,
default = [-1.e-3, 1.e-3])
Trong khi tôi có thể làm cho nó hoạt động theo cách này, tôi thực sự sẽ có thể sử dụng ký pháp khoa học. Ai có ý tưởng gì không?
Cheers
Trích dẫn '-2e-5' có trợ giúp không? – nmichaels
Theo http://code.google.com/p/argparse/issues/detail?id=37, nó phải được sửa. Kiểm tra xem phiên bản của argparse bạn có là mới hơn hay giống nhau. – favoretti
@nmichaels Xin chào, ý của bạn là "-2e-5"? Nó không hoạt động không may, tôi nghĩ nó vẫn diễn giải nó như một đối số. Lỗi chính xác từ './blah.py -xlim" -.2e-5 "1e5' là --xlim: 2 đối số dự kiến. Nếu tôi sử dụng \ - nó nghĩ rằng một chuỗi của nó và sau đó than phiền bởi vì nó phải là một phao – Ger