首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用元变量的带有键值选项的python ArgParse自定义操作会导致-h输出中出现重复项

使用元变量的带有键值选项的Python ArgParse自定义操作会导致-h输出中出现重复项。在ArgParse中,元变量(metavar)用于指定在帮助信息中显示的参数名。当使用带有键值选项的自定义操作时,如果不正确地设置元变量,就会导致帮助信息中出现重复项。

要解决这个问题,可以通过设置正确的元变量来避免重复项的出现。元变量应该是唯一且描述性的,以确保帮助信息中的参数名不重复。

以下是一种解决方案:

代码语言:txt
复制
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-o', '--option', metavar='key=value', help='This is a custom option with key-value pair')

args = parser.parse_args()

在上面的示例中,我们通过将metavar设置为'key=value'来定义带有键值选项的自定义操作。这将确保在帮助信息中只显示一次-o--option

如果你想使用腾讯云的相关产品进行云计算,可以参考腾讯云的云服务产品,例如:

  • 云服务器(CVM):可靠、可扩展的云端计算服务,适用于各种计算场景。
  • 云数据库MySQL版:高性能、可扩展的关系型数据库服务,适用于各种应用场景。
  • 云存储(COS):安全可靠、低成本的云端存储服务,适用于大规模数据存储和处理。
  • 人工智能:提供丰富的人工智能服务,如图像识别、语音识别等,可应用于各种智能应用场景。

请注意,这仅仅是一种参考方式,并非要求你使用腾讯云的产品。另外,对于网络安全、音视频、多媒体处理、物联网、移动开发、区块链等领域,可以根据具体的问题和需求选择合适的技术和工具来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python入门:argparse浅析 nargs=+作用

action=’append’,表示传入作为一个列表,意味着option可以在命令行多次出现。...action=’append_const’,传入列表由const定义,通常用在需要多个argument将值传入一个列表场景。 action=’count’,输出argument出现次数。...action=’version’,需要定义version,使用输出版本信息并退出。 自定义,通过定义一个argparse.Action子类来实现。实际上,上面的这些可选项都是通过这种形式定义。...或nargs=’*’,那么当没有参数赋值给该项时,会使用default定义值。 而default=argparse.SUPPRESS时,则表示命令行出现某一时,不会对它进行默认赋值。...使用FileType可简化对文件操作。还可以自定义函数,输入是一个字符串,输出是转换后字符串。当设置choices时,类型检查变得容易,因为只需要在一个范围内比较即可。

13K10

Python 模块:argparse

formatter_class - 用于自定义帮助文档输出格式类 prefix_chars - 可选参数前缀字符集合(默认值:'-') fromfile_prefix_chars - 当需要从文件读取其他参数时...默认情况下, ArgumentParser 对象产生一个异常如果去创建一个正在使用选项字符串参数。...这和默认元素本身是不同。 '?'。如果可能的话,从命令行消耗一个参数,并产生一个单一。如果当前没有命令行参数,则会产生 default 值。...nargs 不同值可能导致 metavar 被多次使用而改变。...(带有不止一个字符名字选项),选项和值可以通过一个简单命令行参数传递,使用 = 将它们分开: >>> parser.parse_args(['--foo=FOO']) Namespace(foo=

2.5K10

parser.add_argument()用法——命令行选项、参数和子命令解析器

argparse是一个Python模块:命令行选项、参数和子命令解析器。...通过使用这种方法,可以在使用 1、argparse简介: argparse 模块是 Python 内置一个用于命令选项与参数解析模块,argparse 模块可以让人轻松编写用户友好命令行接口。...通俗来讲就是: 命令行运行代码时直接给相应变量赋值,就不需要在改python具体代码了。...在帮助消息,这个描述显示在命令行用法字符串和各种参数帮助消息之间。...直接运行python test.py,输出结果False 运行python test.py --sparse,输出结果True 也就是说,action=‘store_true’,只要运行时该变量有传参就将该变量设为

1.8K20

Python 命令行之旅:深入 argparse(二)

本文将继续深入了解 argparse 进阶玩法,一窥探其全貌,助力我们拥有实现复杂命令行程序能力。 本系列文章默认使用 Python 3 作为解释器进行讲解。...若你仍在使用 Python 2,请注意两者之间语法和库使用差异哦~ 帮助 自动生成帮助 当你在命令行程序中指定 -h 或 --help 参数时,都会输出帮助信息。...,--user 和 --password 选项出现在 authentication 分组。...来查看所支持子命令和参数选项: $ python3 cli.py -h usage: cli.py [-h] {create,delete} ......: parser 为解析器实例 namespace 存放解析结果 values 即命令行传入参数值 option_string 为参数选项 在下面的例子,我们通过 --words 传入单词,并在自定义动作类中将其值转换为大写

1.4K20

Python创建命令行界面的最佳方式

根据程序不同,这些参数可用于添加其他特性,如查看帮助文档、指定输出文件或启用测试特性,这些特性在正常使用时可能会出现问题。...作为程序员,您可以定义要接受参数,而argparse将知道如何从sys解析这些参数。当用户给程序提供无效参数时,Argparse还会自动生成帮助和使用消息,并输出错误。...() 现在使用--help选项运行代码: python3 test_cli.py --help 你应该会收到一个很好默认帮助信息,像这样: usage: test_cli.py [-h] optional...我们可能需要一些参数是网页域-domain或-d,日志输出到一个输出文件-ofile或-o选项,可能还需要输出到控制台特定行数-lines或-l选项。...“https://ahadsheriff.com"') 现在运行带有-h参数程序,查看您编写文档!

2.5K20

python自学argparse模块

argparse模块 argparsepython用于解析命令行参数和选项标准模块,用于代替已经过时optparse模块 使用步骤 import argparse # 导入模块,这个没什么说...不过可以加上-h 或 --help 运行一下,显示我们自定义description内容,以及默认help内容 通过add_argument()方法添加各种参数 添加参数过程就是,反复调用add_argument...指定选项参数变量名 就如上面讲,执行选项参数变量名 import argparse parser = argparse.ArgumentParser(description='解析命令行参数')...这里变量名是自己在dest里指定了 print(args) # 看看整个内容 选项参数-设为必须 使用required=True 后,这个选项就不再是可选了,而是必须输入 import argparse...-a A python test.py -a A -a B 将输出转化为字典 上面的例子每次打印都是我们设置过对象,可以使用内置函数,将参数和值转化为字典形式 print(vars(args)

1.5K10

玩转 Python 命令行:4 大主流工具库对比

看这一篇就够了 一、前言 在近半年 Python 命令行旅程,我们依次学习了 argparse、docopt、click 和 fire 库特点和用法,逐步了解到 Python 命令行库设计哲学与演变...若你仍在使用 Python 2,请注意两者之间语法和库使用差异哦~ 二、设计理念 在讨论各个库设计理念之前,我们先设计一个计算器程序,其实这个例子在 argparse第一篇讲解中出现过,也就是...: 命令行程序接受一个位置参数,它能出现多次,且是数字 默认情况下,命令行程序求出给定一串数字最大值 如果指定了选项参数 --sum,那么就会将求出给定一串数字和 希望从各个库实现该例子代码能进一步体会它们设计理念...,比如 type=int 表示类型是 int 这个参数能重复出现几次,比如 nargs='+' 表示至少提供 1 个 参数是存什么,比如 action='store_const' 表示存常量 然后它才根据给定这些信息来解析命令行参数...对比与 argparse: 对于更为复杂命令程序,信息定义上 docopt 更加简单 然而在业务逻辑处理上,由于 argparse 在一些简单参数处理上会更加便捷(比如示例情形),相对来说

1.8K10

【测试开发】python系列教程:argparse 模块

可以执行 python tesone1.py -h 看下结果: 这就是告诉我们这个文件应该怎么用,带什么参数 接着我们通过对象add_argument函数来增加参数。...注意:如果直接运行程序,默认不读取该变量,要使用必须要进行传参,例如:python try.py --epochs nargs: 应该读取命令行参数个数,可以是具体数字,或者是?...;此外,也可以继承 argparse.Action 自定义参数解析; 2....它将检查命令行每个参数,转换为适当数据类型,然后调用相应操作,并把参数结构化后存放在对象args。...以上就是这个库介绍,我们在实际,也遇到这个问题,在实际交付脚本,大家不知道怎么使用,在交付时候,就可以用这个,去出一个教程,大家运行时候,就知道,这个脚本需要传递参数类型,内容了,方便大家执行脚本时候

16610

python--配置文件以及ConfigParser使用

在项目中通常我们把超参,魔数等需要配置写入一个配置文件,方便配置调整。python项目中通用配置文件格式有py.ini,json,yml。本文对这些常用形式配置进行详细讲解。...py配置使用.py进行配置对于python项目是最简单形式,不用任何解析操作直接使用。但是对于多平台使用项目,配置通常是需要通用等,py配置就不易于移植了。...在使用我们还可以选择更多设置: """ add_argument一些参数属性 name or flags - 一个命名或者一个选项字符串列表,例如 foo 或 -f, --foo。...action - 当参数在命令行中出现使用动作基本类型。 nargs - 命令行参数应当消耗数目。 const - 被一些 action 和 nargs 选择所需求常数。...required - 此命令行选项是否可省略 (仅选项可用)。 help - 一个此选项作用简单描述。 metavar - 在使用方法消息中使用参数值示例。

1.4K100

python-argparse

python程序,第一步就是获取参数,然后程序才能执行。...对于简单程序脚本,可以直接使用sys.argv[] 来获取命令行参数,但是应用到大软件项目中,我们需要更加规范,更加方便而功能强大工具来处理命令行参数,本文主要介绍python标准库argparse...python标准库getopt, optparse, argparse都是专门处理命令行参数模块 getopt 是类似UNIX系统getopt这个C函数实现,可以处理长短配置和参数。...,它出现在usage和帮助信息中间 epilog 在最后给出一个文件描述 add_help 是否加入-h –help选项,默认为True prefix_chars 命令行选项前缀,默认为’-‘ fromfile_prefix_chars...formatter_class 自定义帮助输出类,控制输出格式 prog 程序名字,默认为sys.argv[0] usage 描述程序使用说明 add_argument() 参数简介: name

78610

python 模块argparse用法实

有些程序可能希望支持/f这样选项,可以使用prefix_chars="/"  fromfile_prefix_chars - (default: None)如果你希望命令行参数可以从文件读取,就可能用到...例如,如果fromfile_prefix_chars='@',命令行参数中有一个为"@args.txt",args.txt内容作为命令行参数  add_help - 是否增加-h/-help选项(default...,该参数接受选项参数或者是位置参数(一串文件名) 不带'--'参数     调用脚本时必须输入值     参数输入顺序与程序定义顺序一致 '-'参数     可不输入    add_argument...","--name", help="params means"),但代码不能使用shortname     dest: 参数在程序对应变量名称 add_argument("a",dest='code_name...可以2个参数对应一个变量。         append:存储值到列表,该参数可以重复使用

46310

Python argparse标准库快速入门

Python是一门非常好用脚本语言,自然使用它来开发命令行程序也比较方便。而且Python标准库中有一个名为argparse库,可以非常方便让我们把命令行参数转换成所需数据格式。...假如多个parser有一些可以共享参数,可以通过设置子parser方式来共享 formatter_class - 用于自定义帮助文档输出格式类 prefix_chars - 可选参数前缀字符集合...name or flags - 一个命名或者一个选项字符串列表,例如 foo 或 -f, --foo。 action - 当参数在命令行中出现使用动作基本类型。...count会存储参数出现次数。常见用法是指定日志输出级别,例如有的程序-v显示简单输出,-vv显示复杂输出。...默认情况下nargs按照action类型来判断参数个数,store和store_const读取后面的一个值作为参数。 const 这个参数需要和带有constaction来配合使用

87910

Python参数传递与解析

Python传递命令行参数 Python命令行参数传递和C语言类似,都会把命令行参数保存到argv变量。对于python而言,argv是sys模块定义一个list。...与C语言不同是,python并没有定义argc,要获得参数个数,需要使用len(sys.argv) 当用户使用'python -c "command" '来运行一条python语句时,argv中保存是...: prog: 指定程序名字,默认为sys.argv[0]. usage: 描述程序该如何使用字符串,默认根据添加参数和选项自动生成 description: 描述程序功能,默认为空 epilog...args属性,存储参数值,flags定义指定选项,flag名字也作为解析后返回对象属性,存储该选项参数。...常量就出现几次,例如: $ cat arg_parse.py #!

2.1K70

Python 基础(二十一):argparse 模块

简介 argparse 模块主要用于处理 Python 命令行参数和选项,程序定义好所需参数后,该模块会通过 sys.argv 解析出那些参数;除此之外,argparse 模块还会自动生成帮助和使用手册...show this help message and exit 通过上面的执行结果,我们可以看出 Python 可选参数包括:--help 和其简写 -hPython 使用 - 来指定短参数,使用...(默认值:无) epilog:在参数帮助文档之后显示文本(默认值:无) parents:一个 ArgumentParser 对象列表,它们参数也应包含在内 formatter_class:用于自定义帮助文档输出格式类...,看一下参数说明: name or flags:一个命名或者一个选项字符串列表,例如:-f,--foo action:当参数在命令行中出现使用动作基本类型 nargs:命令行参数应当消耗数目 const...:被一些 action 和 nargs 选择所需求常数 default:当参数未在命令行中出现使用值 type:命令行参数应当被转换成类型 choices:可用参数容器 required:此命令行选项是否可省略

59220

Python指南:组合数据类型

本章我们将学习如何使用Python组合数据类型将数据集合在一起,以便在程序设计时有更多选项。 ?...该函数第一个参数是想要创建自定义元组数据类型名称,第二个参数是一个字符串,其中包含使用空格分隔名称,每个名称代表该元祖数据类型。该函数返回一个自定义类,可用于创建命名元组。...5出现次数: 2 追加迭代器: [5, 'python', (1, 2), 5, 'today', 9, 'h', 'e', 'l', 'l', 'o'] "python"最左边索引值: 1 在索引位置...用于赋值操作符左边两个或多个变量时,其中一个使用*进行引导,数据将赋值给该变量,而所有剩下数据将给带星号变量。..., 0) + 1 都可以进行加1操作,但是如果单词第一次出现,第一种形式产生KeyValue错误,第二种则会正确运行。

2.6K10

Python argparse 模块

这篇文章主要是对 argparsePython标准库推荐命令行解析模块) 进行简要介绍。...第二个开始显示 argparse 模块用处,我们几乎什么也没做,但是已经得到了很好帮助信息 --help 选项可以简写成 -h,它是唯一一个我们能指定选项(即不需要代码定义),指定任何其他都会导致报错...需要注意是,如果一个可选参数没有指定,与它相关联参数(在这个例子是 args.verbosity),默认情况下赋值为 None,这也是 if 语句为 False 原因。...正如我们认为一样,当我们使用选项输出结果仍然是一样。 然而,我们帮助信息对这一个新功能解释得不是很好,但这一点仍旧是可以通过修改脚本代码来修复(通过 help 关键字)。...16 冲突选项 目前为止,我们一直使用 argparse.ArgumentParser 实例两个方法。

1K20

python3argparse模块

1、定义:argparsepython标准库里面用来处理命令行参数库2、命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现位置来确定...:[root@openstack_1 /]# ls -l # -l 就是ls命令里一个选项参数 3、使用步骤:(1)import argparse 首先导入模块(2)parser = argparse.ArgumentParser...=argparse.HelpFormatter, - 自定义帮助信息格式 prefix_chars='-', - 命令前缀,默认是‘-’ fromfile_prefix_chars...='error', - 定义两个add_argument添加选项名字发生冲突时怎么处理,默认处理是抛出异常 add_help=True - 是否增加-h/--help选项...表示值赋予键方式,这里用到是bool类型,action意思是当读取参数中出现指定参数时候行为 help 可以写帮助信息 parser = argparse.ArgumentParser(description

71310

【经典原创】分享几个好用到爆Python内置模块

今天介绍几个好用到爆Python内置库,相信大家看过之后会对今后Python编程帮助多多 argparse Python当中argparse模块主要用于命令行参数解析,可以帮助用户轻松地编写命令行接口...然后我们在终端当中运行以下代码 python python_package.py 俊欣 就会出现以下结果 Hello 俊欣!...要是我们忘记带上参数了,自动出现如下提示 usage: python_package.py [-h] name python_package.py: error: the following arguments...这样的话,我们再来运行一下如下命令行 python python_package.py -h output usage: python_package.py [-h] name positional...'s'], ['s', 'd', 'f', 'f'], [1, 45, 4, 6, 7, 8], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]] 我们还能够对键值对类型数据进行格式化输出

30710
领券