我在脚本中使用 argparse.ArgumentParser(),我想将脚本的 pydoc 描述显示为 argparse 的“--help”选项的一部分。
一个可能的解决方案是使用 ArgumentParser 的 formatter_class
或 description
属性来配置显示的帮助。但在这种情况下,我们需要在内部使用“pydoc”命令来获取描述。
我们是否有其他一些方法(可能是优雅的)来做到这一点?
最佳答案
您可以从 __doc__
全局检索脚本的文档字符串。要将其添加到脚本的帮助中,您可以设置解析器的 description
参数。
"""My python script
Script to process a file
"""
p = argparse.ArgumentParser(description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
p.add_argument('foo', help="Name of file to process")
p.parse_args()
然后帮助看起来像:
$ python tmp.py --help
usage: tmp.py [-h] foo
My python script
Script to process a file
positional arguments:
foo Name of file to process
optional arguments:
-h, --help show this help message and exit
您可以使用 epilog
关键字参数而不是 description
将文档字符串移动到帮助的末尾,而不是紧跟在用法字符串之后。
关于python - 将 pydoc 的描述显示为 argparse 的一部分 '--help',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18106327/