Argparse:在命令“帮助”中设置选择参数的名称

时间:2019-09-20 18:34:02

标签: python argparse

在argparse中,可以使用以下代码创建选择参数:

var pv = '@System.Web.Configuration.WebConfigurationManager.AppSettings["pv"]';

parser = argparse.ArgumentParser() parser.add_argument("action", type=str, help="The action to do. Eligible values:\ninstall, remove, version", choices=['install', 'remove', 'version']) parser的实例

但是,在显示帮助时,不是将arg指定为其名称,而是将其指定为argparse.ArgumentParser(),整个输出为

{install,remove,version}

我如何让他显示arg的名称,所以输出更像


positional arguments:
  {install,remove,version}
                        The action to do. Eligible values: install, remove,
                        version

optional arguments:
  -h, --help            show this help message and exit

2 个答案:

答案 0 :(得分:2)

您可以指定metavar

  

当ArgumentParser生成帮助消息时,它需要某种方式来引用每个期望的参数。默认情况下,可以使用metavar指定备用名称:

parser = argparse.ArgumentParser()
parser.add_argument("action", type=str, metavar='action',
                    help="The action to do. Eligible values:\ninstall, remove, version", choices=['install', 'remove', 'version'])

答案 1 :(得分:2)

您正在寻找metavar的{​​{1}}参数:

add_argument

呼叫parser = argparse.ArgumentParser() parser.add_argument( "action", type=str, help="The action to do. Eligible values:\ninstall, remove, version", choices=['install', 'remove', 'version'], metavar="action", ) 会产生:

parser.print_help()