Я использую средство argparse Python (2.7) и хотел бы автоматически сортировать помощь, которую он производит по алфавиту по опции.
По умолчанию записи справки сортируются в том порядке, в котором они добавлены *, как в:
p = argparse.ArgumentParser(description='Load duration curves and other plots')
p.add_argument('--first', '-f', type=int, default=1, help='First Hour')
p.add_argument('--dur', '-d', type=int, default=-1, help='Duration in Hours. Use -1 for all')
p.add_argument('--title', '-t', help='Plot Title (for all plots), default=file name')
p.add_argument('--interp', '-i', action="store_true", default=True,
help='Use linear interpolation for smoother curves')
...
args = p.parse_args()
Что при вызове python script -h
вызывает:
usage: script.py [-h] [--first FIRST] [--dur DUR] [--title TITLE] [--interp]
Load duration curves and other plots
optional arguments:
-h, --help show this help message and exit
--first FIRST, -f FIRST
First Hour
--dur DUR, -d DUR Duration in Hours. Use -1 for all
--title TITLE, -t TITLE
Plot Title (for all plots), default=file name
--interp, -i Use linear interpolation for smoother curves
Можно ли автоматически сортировать их в алфавитном порядке? Это будет dur, во-первых, h, interp, title.
* Очевидно, что работа вокруг заключается в ручном обслуживании путем добавления записей с использованием p.add_argument в алфавитном порядке добавления, но я стараюсь избегать этого.