Python 将额外的文本附加到"--“帮助”;在argparse中
当你跑的时候 foo.py-h 或 foo.py——救命啊Python 将额外的文本附加到"--“帮助”;在argparse中,python,argparse,Python,Argparse,当你跑的时候 foo.py-h 或 foo.py——救命啊 您将收到一条关于如何使用foo.py以及需要哪些参数的“帮助”消息。有什么方法可以附加到此邮件中吗?例如,打印uuu doc uuu?当然,argparse为您提供了大量的定制可能性。例如,要“附加”到帮助(在完成帮助消息后打印更多),请使用epilog命名参数 parser = argparse.ArgumentParser(epilog="That's all she wrote", ...) 其中,…代表“您希望传递给解析器构造
您将收到一条关于如何使用foo.py以及需要哪些参数的“帮助”消息。有什么方法可以附加到此邮件中吗?例如,打印uuu doc uuu?当然,
argparse
为您提供了大量的定制可能性。例如,要“附加”到帮助(在完成帮助消息后打印更多),请使用epilog
命名参数
parser = argparse.ArgumentParser(epilog="That's all she wrote", ...)
其中,…
代表“您希望传递给解析器构造函数的任何其他命名参数”,相关消息将打印在关于参数的帮助之后的--help
有关
argparse
(作为参考编写,但有很多示例)的几千字,以及更多的几千字(作为教程编写)。也许这些文档中有一半是关于如何微调--帮助或错误案例的消息 帮助格式化函数argparse.ArgumentParser.format\u help()
,如下所示:
def format_help(self):
formatter = self._get_formatter() #by default, an instance of argparse.HelpFormatter
# usage
formatter.add_usage(self.usage, self._actions,
self._mutually_exclusive_groups)
# description
formatter.add_text(self.description)
# positionals, optionals and user-defined groups
for action_group in self._action_groups:
formatter.start_section(action_group.title)
formatter.add_text(action_group.description)
formatter.add_arguments(action_group._group_actions)
formatter.end_section()
# epilog
formatter.add_text(self.epilog)
# determine help from format above
return formatter.format_help()
所以,你可以
- 自定义使用的字符串(它们可以作为构造函数参数传递,您可能对
epilog
感兴趣),或者
- 替换默认的
HelpFormatter
(formatter\u class
constructor参数),以自定义如何将这些字符串转换为帮助文本
argparse
模块
什么是foo.py
?你写了什么?好吧,foo.py只是一个例子。如果foo.py
是空的呢?然后foo.py-h
不打印任何内容。为了得到一个有意义的答案,你必须告诉我们foo.py
包含的内容。我有一些文档(\u doc\u)需要附加或开始我的帮助消息。太好了!感谢您的帮助,我使用parser=argparse.ArgumentParser(description=\uuuu doc\uuuuu,formatter\u class=argparse.RawTextHelpFormatter)使其不跳过“\n”