您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

按字母顺序对argparse帮助进行排序

按字母顺序对argparse帮助进行排序

您可以通过提供一个自定义HelpFormatter类来实现;内部没有正式记录。这意味着您需要自己解决Python版本之间的兼容性问题,但是我发现界面相当稳定:

from argparse import Helpformatter
from operator import attrgetter

class SortingHelpformatter(Helpformatter):
    def add_arguments(self, actions):
        actions = sorted(actions, key=attrgetter('option_strings'))
        super(SortingHelpformatter, self).add_arguments(actions)


p = argparse.ArgumentParser(...
    formatter_class=SortingHelpformatter,
)

在这里,我对选项字符串(('--dur', '-d'),等)进行排序,但是您可以选择要排序的内容。这个简单的排序选项将单破折号选项放在最后,就像该-h选项一样。

输出

usage: [-h] [--first FIRST] [--dur DUR] [--title TITLE] [--interp]

Load duration curves and other plots

optional arguments:
  --dur DUR, -d DUR     Duration in Hours. Use -1 for all
  --first FIRST, -f FIRST
                        First Hour
  --interp, -i          Use linear interpolation for smoother curves
  --title TITLE, -t TITLE
                        Plot Title (for all plots), default=file name
  -h, --help            show this help message and exit
其他 2022/1/1 18:42:03 有375人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶