python的参数解析器以大写形式打印参数名称

RBH

我正在尝试使用该argparse为python脚本编写用法/帮助

这是我的示例代码:

import argparse
parser = argparse.ArgumentParser(
        description='My description')

parser.add_argument(
        "-r", "--remote", 
        help="help message")

parser.print_help()

输出:

usage: [-h] [-r REMOTE]

My description

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

我不知道为什么在上述输出中REMOTE-rand--remote开关之后进行打印

谁能告诉我我在这里做错了什么或者应该怎么做才能摆脱它?

马丁·彼得斯(Martijn Pieters)

你在看metavar ; 它由选项字符串自动生成以形成占位符。它告诉用户在那里需要填写一个值。

您可以使用metavar关键字参数设置显式的metavar值

ArgumentParser生成帮助消息时,它需要某种方式来引用每个期望的参数。默认情况下,ArgumentParser对象使用dest值作为每个对象的“名称”。默认情况下,对于位置参数操作,直接使用dest值,对于可选参数操作,dest值使用大写。

您之所以会看到它,是因为您的论点具有价值。如果您希望它是一个切换,请使用action='store_true'; 在这种情况下,False除非用户指定开关否则该选项默认为

后者的演示:

>>> import argparse
>>> parser = argparse.ArgumentParser(
...         description='My description')
>>> parser.add_argument("-r", "--remote", action='store_true', help="help message")
_StoreTrueAction(option_strings=['-r', '--remote'], dest='remote', nargs=0, const=True, default=False, type=None, choices=None, help='help message', metavar=None)
>>> parser.print_help()
usage: [-h] [-r]

My description

optional arguments:
  -h, --help    show this help message and exit
  -r, --remote  help message
>>> opts = parser.parse_args([])
>>> opts.remote
False
>>> opts = parser.parse_args(['-r'])
>>> opts.remote
True

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从解析器获取参数名称,而不在 argparse python 中解析参数

来自分类Dev

Python 参数解析器 - 需要以下参数 --name

来自分类Dev

Python Argsparser向子解析器添加一个不带名称的参数

来自分类Dev

参数解析器冲突

来自分类Dev

parsy解析器的参数

来自分类Dev

Python参数解析器,在-h之前引发异常

来自分类Dev

python参数解析器中的连字符

来自分类常见问题

Web API解析FromQuery参数名称

来自分类Dev

Web API解析FromQuery参数名称

来自分类Dev

解析器全部参数列表

来自分类Dev

正文解析器忽略类型参数

来自分类Dev

解析器全部参数列表

来自分类Dev

docopt模块的行为(参数解析器)

来自分类Dev

Python:参数解析器 - 允许没有“--”的多个参数,不是必需的

来自分类Dev

在Python中参数化函数名称

来自分类Dev

Python Mock patch。多个参数名称

来自分类Dev

在Python中更改函数参数名称

来自分类Dev

在Python中参数化函数名称

来自分类Dev

获取参数名称

来自分类Dev

如何使Chai打印断言的参数名称而不是其值

来自分类Dev

jenkinsfile参数名称在运行时解析

来自分类Dev

定义在Boost Spirit中用子解析器参数化的解析器

来自分类Dev

定义在Boost Spirit中用子解析器参数化的解析器

来自分类Dev

Python 2.x可选子解析器-错误的参数太少

来自分类Dev

python argparse-将动作添加到不带参数的子解析器?

来自分类Dev

如何创建adb shell就像python中的参数解析器一样?

来自分类Dev

python参数解析器为列表类型输入定义变量名

来自分类Dev

参数解析器之后的Java手动验证

来自分类Dev

从命令行解析器获取无效的参数