Argparse参数生成帮助,'metavar'有选择

时间:2013-12-02 12:57:22

标签: python argparse

当使用关键字choices的参数(可选和位置都有此问题)时,生成的帮助输出会显示这些选项。

如果同一个参数还包含metavar关键字,则生成的输出中将忽略选项列表。

我想到的是在metavar行中显示usage,但实际上在'autohelp'列出位置/可选参数详细信息时显示可用的选项。

任何简单的修复/解决方法?


我已经为自定义帮助功能启动了一个argparse包装器。也许这应该是我的TODO列表中的另一个功能。

1 个答案:

答案 0 :(得分:11)

您可以将选项添加到帮助文本中。

parser=argparse.ArgumentParser()
parser.add_argument('-f',metavar="TEST",choices=('a','b','c'),
    help='choices, {%(choices)s}')
print parser.format_help()

产生

usage: stack20328931.py [-h] [-f TEST]

optional arguments:
  -h, --help  show this help message and exit
  -f TEST     choices, {a, b, c}