当使用关键字choices
的参数(可选和位置都有此问题)时,生成的帮助输出会显示这些选项。
如果同一个参数还包含metavar
关键字,则生成的输出中将忽略选项列表。
我想到的是在metavar
行中显示usage
,但实际上在'autohelp'列出位置/可选参数详细信息时显示可用的选项。
任何简单的修复/解决方法?
我已经为自定义帮助功能启动了一个argparse包装器。也许这应该是我的TODO列表中的另一个功能。
答案 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}