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

use*_*818 6 python argparse

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

如果相同的参数还包含metavar关键字,则从生成的输出中省略选项列表.

我脑子里想的是什么,是为了显示metavarusage路线,但实际上显示可用的选择的时候,"autohelp"列出位置/可选参数的详细信息.

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


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

hpa*_*ulj 12

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

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

生产:

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

optional arguments:
  -h, --help  show this help message and exit
  -f TEST     choices, {a, b, c}
Run Code Online (Sandbox Code Playgroud)