【问题标题】:How to print a multiline version text by argparse module in Python?如何通过 Python 中的 argparse 模块打印多行版本文本?
【发布时间】:2020-02-24 21:27:25
【问题描述】:

好吧,我正在使用argparse 模块,但发现作为版本信息的多行文本无法很好地显示。结果显示'\n'会变成空格''。 示例:

import argparse
ver_text = 'This is the\nversion text!'
parser = argparse.ArgumentParser()
parser.add_argument('-v', '--version', action='version', version=ver_text)
$ python test.py -v

结果:

This is the version text!

所以这就是问题所在。我想知道如何处理它。非常感谢!

【问题讨论】:

  • 我记得应该在 argparse 中为\n 提供一些选项,但您必须阅读文档。但它可能用于格式化 help 文本。
  • tl;dr parser = argparse.ArgumentParser(formatter_class=argparse.RawTextHelpFormatter)

标签: python command-line-arguments


【解决方案1】:

如果我使用

ArgumentParser(formatter_class=RawTextHelpFormatter)

然后显示\n

import argparse
from argparse import RawTextHelpFormatter

ver_text = 'This is the\nversion text!'
parser = argparse.ArgumentParser(formatter_class=RawTextHelpFormatter)
parser.add_argument('-v', '--version', action='version', version=ver_text)
parser.parse_args(['-v'])

但我不知道其他字符串是否会以正确的方式工作。

【讨论】:

  • 所有字符串看起来都很好。感谢您的回答! XD
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
相关资源
最近更新 更多