Python argparse:预格式化帮助文本?
我正在使用 argparse,我想在我的选项之一的帮助文本中显示一个列表。但是,argparse 会从文本中删除新行并将其显示在一行上。
是否有办法告诉 argparse 帮助字符串已预先格式化,而不是删除新行字符?
I'm using argparse and I want to display a list in the help text of one of my options. However, argparse strips new lines from the text and displays it on a single line.
Is there anyway to tell argparse that the help string is preformatted, and not to strip new line characters?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
来自 文档:
From the docs:
如果您只想覆盖一个选项,则不能使用
RawTextHelpFormatter
。相反,子类化HelpFormatter
并为应“原始”处理的选项提供特殊介绍(我使用“R|rest of help”
):并使用它:
任何其他对
.add_argument()
的调用(帮助信息不以R|
开头)将照常包装。这是我对 argparse 的改进的一部分。完整的 SmartFormatter 还支持添加
默认为所有选项以及实用程序描述的原始输入。
If you just want to override the one option, you cannot use
RawTextHelpFormatter
. Instead subclass theHelpFormatter
and provide a special intro for the options that should be handled "raw" (I use"R|rest of help"
):And use it:
Any other calls to
.add_argument()
where the help does not start withR|
will be wrapped as normal.This is part of my improvements on argparse. The full SmartFormatter also supports adding
the defaults to all options, and raw input of the utilities description.