In [64]: parser=argparse.ArgumentParser(description='description')
# 'usage' parameter just sets the 'usage' attribute
In [67]: parser.usage='version 1.0.1\n'+parser.format_usage()
In [68]: parser.print_help()
usage: version 1.0.1
usage: ipython [-h]
description
optional arguments:
-h, help show this help message and exit
一个粗略的解决方案是将版本文本添加到您的使用行中。这并不完美(注意额外的“用法”文本),但这只是一个开始
^{pr2}$help
中组件的顺序由ArgumentParser.format_help
方法确定(引用argparse.py
文件):我可以想象编写一个自定义方法来添加您的版本信息,例如
在
ipython
中,此函数起作用:argparse
模块不提供添加“prolog”的任何选项。当显示帮助时,它总是以usage:
开头。最好的方法是在实例化ArgumentParser
时使用^{请注意,帮助仍将以
usage:
开头。在一个可行的肮脏的解决方法是用一个
^{pr2}$\r
来启动usage
消息:这是一个可移植的用法。可能有一些终端无法使用这个技巧。我已经对版本字符串进行了}字符串将从字符串中消失,并且在使用短版本字符串时不会得到类似
ljust
编辑,以确保当技巧起作用时,整个{v1.2e:
的内容。在注意:现在必须手动创建完整的文本。在
这是一个丑陋的黑客攻击(见我对原始问题的评论):
定义您自己的
HelpFormatter
子类,用formatter_class
选项传递给解析器。子类可能应该重写_format_usage
方法。这并不完全是推荐的,因为用于定义自己的格式化类的接口从未公开过。在相关问题 更多 >
编程相关推荐