Python argparse:帮助中的参数但不在使用中

时间:2018-05-29 19:28:17

标签: python command-line-interface argparse

在argparse中,我希望可选参数出现在optional arguments:下的帮助列表中,但不会出现在用法文本中。我可以在参数中使用help=argparse.SUPPRESS将其从使用中删除,但这会产生从帮助文本中的参数描述中删除它的副作用。

是否可能 - 如果是,如何 - 仅在使用中抑制参数。

此外,我如何在使用中用统一的[--args]指标替换所有可选参数。

1 个答案:

答案 0 :(得分:0)

如果未指定用法消息,则会根据参数自动生成消息。如果您不喜欢自动生成的用法字符串,可以在创建解析器时自行覆盖它:

parser = ArgumentParser(usage='my usage str')

您无法自定义自动生成的用法消息以仅抑制可选参数,这是一种使用它或者丢失它的东西。如果您想重新使用自定义使用情况生成器的代码,最好的方法是继承HelpFormatter并覆盖_format_usage方法。