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

python: argparse库 & 命令行解析工具

store_const,表示赋值为const; append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值; append_const,将参数规范中定义的一个值保存到一个列表; count,存储遇到的次数...号,当不指定值时对于 Positional argument 使用 - default,对于 Optional argument 使用 const;或者是 * 号,表示 0 或多个参数;或者是 + 号表示...required - 可选参数是否可以省略 (仅针对可选参数)。...help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息. metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.... dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.

71730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python3 命令行参数解析

    argparse 模块是 Python 标准库中推荐的命令行解析模块,命令行参数解析在 windows 系统下不适用,但在 linux 系统下几乎要总是考虑命令行参数解析。...,这里可用到 argparse 模块,它是 Python 内置的一个用于命令选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息...,将参数规范中定义的一个值保存到一个列表; count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析; nargs – 应该读取的命令行参数个数,可以是具体的数字,或者是...help – 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息. metavar – 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.... dest – 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线. argparse示例 示例 1 代码如下: import argparse if __name__ ==

    1.3K11

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

    通过使用这种方法,可以在使用 1、argparse简介: argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。...通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。...help - 参数的帮助信息,当指定为 argparse.SUPPRESS 时表示不显示该参数的帮助信息. metavar - 在 usage 说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.... dest - 解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线. 3.3 解析参数——使用 parse_args() 解析添加的参数 ArgumentParser 通过...在大多数情况下,这意味着一个简单的 Namespace 对象将从命令行解析出的属性构建: args = parser.parse_args() 在脚本中,通常 parse_args() 会被不带参数调用

    2.7K20

    【机器学习】Whisper:开源语音转文本(speech-to-text)大模型实战

    Whisper由OpenAI研发并开源,参数量最小39M,最大1550M,支持包含中文在内的多种语言。...二、Whisper 模型原理 2.1 模型架构 Whisper是一个典型的transformer Encoder-Decoder结构,针对语音和文本分别进行多任务(Multitask)处理。...2.2 语音处理 Whisper语音处理:基于680000小时音频数据进行训练,包含英文、其他语言转英文、非英文等多种语言。...所以,您仅需要安装transformers库。...、多语言支持情况、需要现存大小以及推理速度如下 3.3 模型推理 推理函数仅需2行,非常简单,基于pipeline实例化1个模型对象,将要转换的音频文件传至模型对象中即可: def speech2text

    2.8K10

    Python 模块:argparse

    在大多数情况下,这意味着一个简单的 Namespace 对象将从命令行参数中解析出的属性构建: >>> parser.parse_args(['--sum', '7', '-1', '42']) Namespace...否则, ArgumentParse 将会看到两个 -h/--help 选项(一个在父参数中一个在子参数中)并且产生一个错误。 注解 你在传``parents=``给那些解析器时必须完全初始化它们。...默认情况下, ArgumentParser 对象会产生一个异常如果去创建一个正在使用的选项字符串参数。...required - 此命令行选项是否可省略 (仅选项可用)。 help - 一个此选项作用的简单描述。 metavar - 在使用方法消息中使用的参数值示例。...默认情况下,ArgumentParser 对象使用 dest 的值作为每一个对象的名字。默认情况下,对于位置参数的行为,dest 的值可以直接被使用,并且对于可选参数的行为,dest 值是全大写的。

    2.5K10

    Python笔记:外部参数传入考察(一)argparse库

    简介 在编程中,我们往往会遇到需要通过外部参数来控制脚本运行模式的情况,在通用的框架类代码中,这种情况尤为明显,因此,这里,我们来考察一下如何将参数传入到脚本文件中,而不是作为固定参数写死在脚本当中。...因此,使用sys.argv的方式进行参数传递是一种可行的方式,但是绝不是一种值得推荐的方法,更多的情况下,我们会使用argparse库来进行参数的传递。...参数默认值的设置方法 对于参数默认值的设定方法,除了在定义参数时使用default参数进行传入,还可以在定义参数之后使用set_defaults方法来对参数设置默认值。...后记 上述就是我对于使用argparse库进行参数传递的知识整理,算是结合了我的使用经验再补充上我能想到的一些可能会出现的问题进行的一个较为系统的知识整理。...当然,argparse只是进行外部传参的其中一个常用库而已,事实上,使用tf.flags也可以完成相同的功能,在机器学习领域,它或许会比argparse更为常用,但这就是另外一个故事了,也许之后我会再写一个博客来介绍一下

    4.3K21

    argparse------用于命令行选项、参数和子命令的解析器

    否则,ArgumentParser将看到两个-h/——help选项(一个在父类中,一个在子类中),并引发一个错误。Note在通过parent =传递解析器之前,必须完全初始化它们。...注意,对于可选参数,还有另外一种情况——出现了选项字符串,但后面没有命令行参数。在本例中,将生成来自const的值。...对于可选参数,在命令行不存在选项字符串时使用默认值:>>> parser = argparse.ArgumentParser()>>> parser.add_argument('--foo', default...默认情况下,ArgumentParser对象使用dest值作为每个对象的“名称”。默认情况下,对于位置参数操作,dest值直接使用,对于可选参数操作,dest值大写。...description - 帮助输出中的子解析器组的描述,默认情况下为None。 prog - 使用子命令帮助将显示的使用信息,默认情况下程序的名称和子解析器参数之前的任何位置参数。

    7K20

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

    前言 在第一篇“初探 argparse”的文章中,我们初步掌握了使用 argparse 的四部曲,对它有了一个基本的体感。但是它具体支持哪些类型的参数?这些参数该如何配置?...想象一下,当我们在命令行输入一串参数后,对于不同类型的参数是希望做不同的处理的。那么 参数动作 其实就是告诉解析器,我们希望对应的参数该被如何处理。...可选参数通常用于:用户提供一个参数以及对应值,则使用该值;若不提供,则使用默认值。...和10之间,则取原来的值 Namespace(num=5) 参数默认值 参数默认值 用于在命令行中不传参数值的情况下的默认取值,可通过 default 来指定。...使用互斥参数首先通过 ArgumentParser.add_mutually_exclusive_group 在解析器中添加一个互斥组,然后在这个组里添加参数,那么组内的所有参数都是互斥的。

    71030

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

    在命令行程序中,经常需要获取命令行参数。...这些信息在 parse_args() 调用时被存储在ArgumentParser实例化对象中,以供后续使用。add_argument() 方法定义如何解析命令行参数的呢?...metavar:在 usage 说明中的参数名称,对于必选参数,默认就是参数名称,对于可选参数默认是全大写的参数名称。...dest:解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线. choices:参数可允许的值的一个容器。 const:action 和 nargs 所需要的常量值。...以上就是这个库的介绍,我们在实际中,也会遇到这个问题,在实际的交付的脚本中,大家不知道怎么使用,在交付的时候,就可以用这个,去出一个教程,大家运行的时候,就知道,这个脚本需要传递的参数类型,内容了,方便大家执行脚本的时候

    18910

    Python 命令行之旅:初探 argparse

    剧照 | 《走出非洲》 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行的?是否考虑过由自己实现一个命令行工具,帮你执行和处理任务?...当你在程序中定义需要哪些参数,argparse 便会从 sys.argv 中获取命令行输入进行解析,对正确或非法输入做出响应,也可以自动生成帮助信息和使用说明。...Python 对象,如: # 添加 nums 参数,在使用信息中显示为 num # 其类型为 int,且支持输入多个,且至少需要提供一个 parser.add_argument('nums', metavar...默认情况下,参数取自 sys.argv[1:],它就是你在命令行敲入的一段命令(不含文件名)所对应的一个字符串列表。...对于一些复杂的情况,比如各种类型参数、参数前缀、参数组、互斥选项、嵌套解析、自定义帮助等等,我们都还没涉及探讨。 在下一篇文章中,让我们来一起深入了解 argparse,感受它的魅力吧! ?

    68721

    Python argparse标准库快速入门

    如果有需要的话,可以通过在构造函数中设置各种参数的方式来修改ArgumentParser类的行为。由于参数项比较多,所以官方文档建议我们使用关键字参数的方式来添加参数。...required - 此命令行选项是否可省略 (仅选项可用)。 help - 一个此选项作用的简单描述。 metavar - 在使用方法消息中使用的参数值示例。...默认情况下nargs会按照action的类型来判断参数个数,store和store_const会读取后面的一个值作为参数。 const 这个参数需要和带有const的action来配合使用。...如果参数比较多,可以使用参数组的方式将功能相近的参数进行分组,这样不管是开发人员还是使用人员都能更清晰的使用参数。 互斥参数组。如果某些参数不能同时使用,可以将它们加到互斥参数组中。 部分解析。...默认情况下parse_argument在遇到未知参数的时候会报错,如果需要保存这些参数传递给其他命令行的时候,可以使用parse_known_args方法。

    91010

    Python argparse 模块

    从这四个命令中我们可以学到一些概念: ls 命令在不接受任何参数时也是有作用的,它默认用于展示当前目录下的内容。 如果我们想它让提供非默认以外的功能,我们必须指定更多的参数。...在这个例子中,我们想要展示一个不同的目录:pypy。我们所做的是指定所谓的位置参数。之所以这样命名,是因为程序仅根据命令行中的位置知道该值的用途。...第一个位置是你要复制的内容,第二个位置是你要复制到的位置。 现在,假设我们要更改程序的行为。在我们的示例中,我们为每个文件显示更多偏偏,而不仅仅是显示文件名。在这种情况下,-l被称为可选参数。...需要注意的是,如果一个可选参数没有指定,与它相关联的参数(在这个例子中是 args.verbosity),默认情况下会赋值为 None,这也是 if 语句为 False 的原因。...记住,默认情况下,如果一个可选参数没有被指定,它将得到 None 值,它不能进行整数比较(因此会报 TypeError 异常)。

    1.1K20

    《Python实例》基础之argparse,提供一个友好的接口说明,老大说我做的真好

    python经常是作为脚本在使用,在大部分的时候我们写的脚本都要给其他人使用,参数的调用常规的情况下需要提供说明文档,说明每个参数是怎么使用的,但是如果是给同组内的程序同学使用,大都不愿意写文档,对于我们程序同学来说写代码更简单...提供文档太费时,又写不好,不提供文档吧又不太又好,今天在python中发现了一个参数解析器,完美的解决这个问题,今天讲一下参数解析器的使用,好了,废话蛮多了,开始吧。...1、模块介绍 模块的源码位置 lib/argparse,如果你在代码中使用的不是这个位置,说明你导入错了。...可以看到提示了脚本的使用情况,以及三个参数的说明,完美。 3、自己做个 说再多没有用,怎么做呐?直接代码展示 #!...: python argFile.py 'aa' 'jpg' 'png' 4.3 pycharm 中调用传参文件 在pycharm 中执行需要参数的文件如果不传递参数会报下面的错误 ?

    67430

    制作一个简单的命令行测试工具

    如果能将某个请求或某些请求封装在一个命令行工具中,使用的时候传入一些命令行参数来实现各种不同的请求,可以大大简化参数设置的难度,有效提升测试效率。...一般的使用流程: 1、引入argparse模块 import argparse 2、创建一个解析对象(parser) 3、向该对象中添加你要关注的命令行参数和选项(parser.add_argument...) 4、进行解析(parser.parse_args()) 下面是使用argparse模块的一个简单例子 import argparse parser = argparse.ArgumentParser...二、在接口测试中的应用 在一个关于语音识别http接口的测试中,需要用post方式以json形式传递用来识别的音频文件链接和相关参数。...对于这种情况,一般我们可能要准备多个json以便测试,而且修改参数十分麻烦,更不利于自动化测试。

    1.2K10

    Google 开源的 Python 命令行库:初探 fire

    作者:HelloGitHub-Prodesire 涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 点击本文最下方的“阅读原文”即可获取 一、前言 在本系列前面所有文章中,我们分别介绍了...实现命令行程序的步骤: 对于 argparse 来说,要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑(四步) 对于 docopt 来说,要先定义定义接口描述,再解析命令行,最后实现业务逻辑...我们不妨考虑下 Python 中的函数,函数是不是可以对应一个命令行程序,而函数的参数可以对应命令行程序的参数和选项呢?...再看看 Python 中的类,一个类是不是可以对应一个命令行程序,而类中的每个实例方法就可以对应子命令,实例方法中的参数就是对应子命令的参数和选项。...除了上面展示的内容,fire 还支持更多种类的 Python 对象,也拥有很多强大的功能,我们将在接下来几节中逐步走近它。

    52510

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

    根据程序的不同,这些参数可用于添加其他特性,如查看帮助文档、指定输出文件或启用测试特性,这些特性在正常使用时可能会出现问题。...处理错误情况:让用户确切地知道哪里出了问题 运行时状态:如果任务没有立即完成,您应该打印出当前的进度 使用argparse读取参数: Argparse是一个用于解析命令行参数的Python标准库模块。...作为程序员,您可以定义要接受的参数,而argparse将知道如何从sys中解析这些参数。当用户给程序提供无效参数时,Argparse还会自动生成帮助和使用消息,并输出错误。...通过使用.add_argument,我们可以很容易地向argparse CLI添加额外的参数,该参数允许我们定义使用细节。...现在使用argparse添加额外的参数。如果没有指定需要哪些参数,argparse将假定它们是可选的。你也可以设置参数的类型,对于——lines,我们取一个整数。

    2.6K20

    python命令行库如何实现子命令共享参数?

    本文的目标: 本文计划实现一个带有子命令的命令行工具,同时带有全局级别的配置参数(比如数据文件地址等)。在这个前提下使用不同的标准来比较所提到的三个命令行库。...对于给定的子命令read和write,父命令有一个--format参数,如何使得python main.py read --format=xxx成立。...在argparse中,子命令的实现是通过add_subparsers来实现的 import argparse def do_command_one(arg): print('command1...这个脚本文件声明了两个子命令:model和model2,model会有一个命令行参数--cmd1_option1,model2会有一个命令行参数--cmd2_option1,同时全局会有一个参数--foo...此外,使用set_defaults来设置了子命令的处理函数,以应对可能需要进行单独处理的情况。 唯一的问题是,全局参数的实现比价违背一般的习惯。

    94520

    Python 命令行之旅:初探 argparse

    作者:HelloGitHub-Prodesire 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行的?是否考虑过由自己实现一个命令行工具,帮你执行和处理任务?...当你在程序中定义需要哪些参数,argparse 便会从 sys.argv 中获取命令行输入进行解析,对正确或非法输入做出响应,也可以自动生成帮助信息和使用说明。...Python 对象,如: # 添加 nums 参数,在使用信息中显示为 num # 其类型为 int,且支持输入多个,且至少需要提供一个 parser.add_argument('nums', metavar...默认情况下,参数取自 sys.argv[1:],它就是你在命令行敲入的一段命令(不含文件名)所对应的一个字符串列表。...对于一些复杂的情况,比如各种类型参数、参数前缀、参数组、互斥选项、嵌套解析、自定义帮助等等,我们都还没涉及探讨。 在下一篇文章中,让我们来一起深入了解 argparse,感受它的魅力吧!

    47810
    领券