Python argparse:在使用字符串中显示parse_known_args模式

Thi*_*ter 6 python argparse

使用Python的argparse模块时,您可以使用parse_known_args()仅解析解析器已知的参数,并单独返回任何其他参数.

但是,这个事实未在usage/help字符串中表示.当然我可以将它放在description解析器的字段中,但我想知道是否有一种很好的方法将它包含在使用行中.

我正在寻找的是例如usage: test [-h] ...而不是的输出usage: test [-h]

Sam*_*ann 4

format_usage()我认为您可以使用和 ArgumentParser attribute的组合来完成此操作usage。请注意,该部分显示了作为构造函数的关键字参数的用法,但是,检查源代码表明usage您可以在构造后以parser.usage.

我想你的最终解决方案会是这样的:

parser = argparse.ArgumentParser()
# Add arguments...
usage = parser.format_usage()
parser.usage = usage.rstrip() + ' ...\n'
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这几乎完成了工作。用法字符串以“\n”结尾,因此需要首先处理:“parser.usage = '%s ...\n' % parser.format_usage().rstrip()” (2认同)