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

【python】命令行参数argparse用法详解

第一个没有任何输出和出错 第二个测试为打印帮助信息,argparse会自动生成帮助文档 第三个测试为未定义-v参数,会出错 第四个测试为未定义参数foo,出错 positional arguments...optional arguments 中文名叫可选参数,有两种方式: 一种是通过一个-来指定参数-h; 一种是通过--来指定参数--help 这两种方式可以同存,也可以只存在一个,修改...测试1, 2, 3 为可选值范围,通过其值,打印不同格式输出; 测试4verbosity值不在可选值范围内,打印错误 测试5打印帮助信息 自定义帮助信息help 上面很多例子中都为help赋值,...在打印输出时,会有如下内容: ? 也就是help为什么,打印输出时,就会显示什么 程序用法帮助 上面介绍了为每个参数定义帮助文档,那么给整个程序定义帮助文档该怎么进行呢?通过 ?...第一行定义了一个互斥组,第二、三行在互斥组添加了-v和-q两个参数,用上个例子程序进行如下测试: ? 可以看出,-q和-v不出现,或出现一个都可以,同时出现就会报错。

95430

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

以确定如何在帮助消息显示程序名称。这个缺省值几乎总是可取,因为它将使帮助消息与在命令行上调用程序方式匹配。...默认情况下,帮助操作会自动添加到解析器。有关如何创建输出详细信息,请参见ArgumentParser。...description - 帮助输出子解析器组描述,默认情况下为None。 prog - 使用子命令帮助将显示使用信息,默认情况下程序名称和子解析器参数之前任何位置参数。...help - 帮助输出子解析器组帮助,默认为None。 metavar - 在帮助显示可用子命令字符串;默认情况下,它是None,并以{cmd1, cmd2, ..}形式显示子命令。...当其中之一出现时,子解析器命令将出现在帮助输出它们自己

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

python3 argparse模块

1、定义:argparse是python标准库里面用来处理命令行参数库 2、命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现位置来确定 :[root@openstack..._1 /]# ls root/ #其中root/是位置参数 选项参数是应用程序已经提前定义好参数,不是随意指定 :[root@openstack_1 /]# ls -l # -l...(3)parser.add_argument() 向该对象添加你要关注命令行参数和选项 (4)parser.parse_args() 进行解析 4、argparse.ArgumentParser..., - 自定义帮助信息格式 prefix_chars=’-‘, - 命令前缀,默认是‘-’ fromfile_prefix_chars=None, - 命令行参数从文件读取...name or flags… - 必选,指定参数形式,一般写两个,一个短参数,一个参数 import argparse parser = argparse.ArgumentParser() parser.add_argument

83650

Python 模块:argparse

formatter_class - 用于自定义帮助文档输出格式类 prefix_chars - 可选参数前缀字符集合(默认值:'-') fromfile_prefix_chars - 当需要从文件读取其他参数时...prog 默认情况下,ArgumentParser 对象使用 sys.argv[0] 来确定如何在帮助消息显示程序名称。这一默认值几乎总是可取,因为它将使帮助消息与从命令行调用此程序方式相匹配。...在帮助消息,这个描述会显示在命令行用法字符串和各种参数帮助消息之间: >>> parser = argparse.ArgumentParser(description='A foo that bars...ArgumentDefaultsHelpFormatter 自动添加默认信息到每一个帮助信息参数: >>> parser = argparse.ArgumentParser( ......fromfile_prefix_chars 有些时候,先举个例子,当处理一个特别参数列表时候,把它存入一个文件而不是在命令行打出来会很有意义。

2.5K10

python3argparse模块

:[root@openstack_1 /]# ls root/ #其中root/是位置参数 选项参数是应用程序已经提前定义好参数,不是随意指定 ...() 创建一个解析对象(3)parser.add_argument() 向该对象添加你要关注命令行参数和选项(4)parser.parse_args() 进行解析 4、argparse.ArgumentParser...=argparse.HelpFormatter, - 自定义帮助信息格式 prefix_chars='-', - 命令前缀,默认是‘-’ fromfile_prefix_chars...- 必选,指定参数形式,一般写两个,一个短参数,一个参数import argparse parser = argparse.ArgumentParser() parser.add_argument...,这里用到是bool类型,action意思是当读取参数中出现指定参数时候行为 help 可以写帮助信息 parser = argparse.ArgumentParser(description

70010

会用python把linux命令写一遍的人,进大厂有多容易?

2018.2 - 使用模块:argparse, os 了解argparse模块 argparse是python标准库,他可以使我们很友好编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效时候发出错误...2. usage: 显示这个命令用法, 一般用来显示参数用法 3. description:显示这个命令帮助信息 4. epilog: 显示命令帮助信息,位置在参数下面 argparse.ArgumentParser.add_argument...只保存True和False - append: 将相同参数不同值保存在一个list - count: 统计参数出现次数 - help: 输出程序帮助信息 - version...- nargs='*': 将所有的参数保存在列表 - nargs='+': 将所有的参数保存在列表,但是至少得有一个参数 - nargs=argparse.REMAINDER: 其余参数全部保存在一个...list 4. default: 如果没有传入这个参数,默认使用default参数值 5. type: 接收到参数会经过这个参数对应函数处理。

63530

会用python把linux命令写一遍的人,进大厂有多容易?

2018.2 - 使用模块:argparse, os 了解argparse模块 argparse是python标准库,他可以使我们很友好编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效时候发出错误...2. usage: 显示这个命令用法, 一般用来显示参数用法 3. description:显示这个命令帮助信息 4. epilog: 显示命令帮助信息,位置在参数下面 argparse.ArgumentParser.add_argument...只保存True和False - append: 将相同参数不同值保存在一个list - count: 统计参数出现次数 - help: 输出程序帮助信息 - version...- nargs='*': 将所有的参数保存在列表 - nargs='+': 将所有的参数保存在列表,但是至少得有一个参数 - nargs=argparse.REMAINDER: 其余参数全部保存在一个...list 4. default: 如果没有传入这个参数,默认使用default参数值 5. type: 接收到参数会经过这个参数对应函数处理。

58920

如何利用Python学习linux命令?

使用模块:argparse, os 了解argparse模块 argparse是python标准库,他可以使我们很友好编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效时候发出错误...2. usage: 显示这个命令用法, 一般用来显示参数用法 3. description:显示这个命令帮助信息 4. epilog: 显示命令帮助信息,位置在参数下面 argparse.ArgumentParser.add_argument...True和False - append: 将相同参数不同值保存在一个list - count: 统计参数出现次数 - help: 输出程序帮助信息 - version: 输出程序版本信息...- nargs='*': 将所有的参数保存在列表 - nargs='+': 将所有的参数保存在列表,但是至少得有一个参数 - nargs=argparse.REMAINDER: 其余参数全部保存在一个...list 4. default: 如果没有传入这个参数,默认使用default参数值 5. type: 接收到参数会经过这个参数对应函数处理。

79110

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

根据程序不同,这些参数可用于添加其他特性,查看帮助文档、指定输出文件或启用测试特性,这些特性在正常使用时可能会出现问题。...当用户运行这个程序时,它们被限制为一组定义规则。例如,如果我想将输出记录到文本文件,该怎么办?作为一个用户,您可以创建一个命令行界面来提供这些问题解决方案。 ?...作为程序员,您可以定义要接受参数,而argparse将知道如何从sys解析这些参数。当用户给程序提供无效参数时,Argparse还会自动生成帮助和使用消息,并输出错误。...我们可能需要一些参数是网页域-domain或-d,日志输出到一个输出文件-ofile或-o选项,可能还需要输出到控制台特定行数-lines或-l选项。...现在使用argparse添加额外参数。如果没有指定需要哪些参数argparse将假定它们是可选。你也可以设置参数类型,对于——lines,我们取一个整数。

2.4K20

浅谈Python 命令行参数argparse写入图片路径操作

如果你知道如何在各种编程语言中声明和调用函数,那么当你发现如何使用命令行参数时,你会立刻感到宾至如归。 鉴于这是计算机视觉和图像处理博客,您在这里看到很多参数都是图像路径或视频路径。...那么让我们创建一个名为shape_counter .py新文件并开始编码: ? 我们在第2行导入 argparse – 这是帮助我们解析和访问命令行参数包。...然后在第8行和第9行我们添加我们 – input 参数。我们必须指定速记和版本( – i 和 – input ),其中任何一个标志都可以在命令行中使用。...这是必需参数 required = True所示。如上所示, 帮助字符串将在终端中提供附加信息。 类似地,在第10行和第11行,我们指定了 -input 参数,这也是必需。...文本包含形状总数。 最后,我们利用我们 -input 图像路径参数将图像写入到磁盘 cv2.imwrite (第37行)。 让我们用两个参数执行命令: ?

1.6K10

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

若设置,则在帮助信息,可以使用%(prog)s来作为格式化引用(修改一处全局受用)。...6、formatter_class:对于help输出进行格式化,除了输出样式外,如果设置为ArgumentDefaultsHelpFormatter,则会自动在help输出添加已定义default...在该文件,一行只能有一个参数文件’-f\nbar’会被解析成[‘-f’,’bar’]。...action=’version’,需要定义version,使用时输出版本信息并退出。 自定义,通过定义一个argparse.Action子类来实现。实际上,上面的这些可选项都是通过这种形式定义。...设置为argparse.SUPPRESS可不显示帮助信息。 10、metavar:在Parser生成帮助信息时,需要有字符代表需要传入值。

12.6K10

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

简介 argparse 模块主要用于处理 Python 命令行参数和选项,程序定义好所需参数后,该模块会通过 sys.argv 解析出那些参数;除此之外,argparse 模块还会自动生成帮助和使用手册...optional arguments: -h, --help show this help message and exit 如果使用未定义参数会报错,:执行命令 python test.py...看一下方法每一个参数含义: prog:程序名称(默认:sys.argv[0]) usage:描述程序用途字符串(默认值:从添加到解析器参数生成) description:在参数帮助文档之前显示文本...(默认值:无) epilog:在参数帮助文档之后显示文本(默认值:无) parents:一个 ArgumentParser 对象列表,它们参数也应包含在内 formatter_class:用于自定义帮助文档输出格式类...:如果缩写是无歧义,则允许缩写选项 (默认值:True) parse_args(args=None, namespace=None) 用来解析参数,看一下参数说明: args:要分析字符串列表,默认取自

57320

Python argparse标准库快速入门

假如多个parser有一些可以共享参数,可以通过设置子parser方式来共享 formatter_class - 用于自定义帮助文档输出格式类 prefix_chars - 可选参数前缀字符集合...required - 此命令行选项是否可省略 (选项可用)。 help - 一个此选项作用简单描述。 metavar - 在使用方法消息中使用参数值示例。...append和append_const会将参数存储成一个列表。 count会存储参数出现次数。常见用法是指定日志输出级别,例如有的程序-v会显示简单输出,-vv会显示复杂输出。...注意下面的程序输出,foo参数只修改了metavar,所以在帮助信息输出中发生了变化,但是在Namespace底层仍然使用foo保存值。...而bar参数修改了dest,所以底层属性名发生了变化,但是在帮助信息并没有什么改变。

85810

Python解析命令行读取参数argparse模块

1) 一般形式 但是大多数情况下,脚本很可能需要多个参数,而且每次参数类型用处各不相同,那么这个时候在参数前添加标签表明参数类型和用途便十分有用,而利用argparse模块可以很方便得实现这一目的...运行python test.py后面跟了–verbose/-v时候会输出前者,如果什么都没有会输出后者。...(嘛,一般后面两种用比较少就不多说了) PS:–help标签在使用argparse模块时会自动创建,因此一般情况不需要我们主动定义帮助信息。...6)候选参数选择 表示该参数能接受值只能来自某几个值候选值,除此以外会报错,用choices参数即可。...https://docs.python.org/2/howto/argparse.html 发布者:全栈程序员栈,转载请注明出处:https://javaforall.cn/108703.html原文链接

72120

Python argparse 模块

在这个例子,我们想要展示一个不同目录:pypy。我们所做是指定所谓位置参数。之所以这样命名,是因为程序根据命令行位置知道该值用途。...在我们示例,我们为每个文件显示更多偏偏,而不仅仅是显示文件名。在这种情况下,-l被称为可选参数。 这是帮助文本一小段。...: 不带任何参数执行这个脚本没有任何输出,没有什么作用。...正如我们认为一样,当我们使用选项,输出结果仍然是一样。 然而,我们帮助信息对这一个新功能解释得不是很好,但这一点仍旧是可以通过修改脚本代码来修复(通过 help 关键字)。...在最后一个输出里,我添加了选项与短选项混合,这样你能看到选项顺序灵活性。

1K20

【Python爬虫实操】 如何在任务中高效处理命令参数

本文将介绍如何在Python中高效处理命令行参数帮助更好地利用Python进行开发。  1.了解命令行参数基本概念  命令行参数是在运行程序时由用户在命令行输入参数。...2.使用argparse库处理命令行参数  Python标准库argparse模块提供了一个简单而强大命令行参数解析器。...使用argparse库可以轻松定义命令行参数类型、默认值、帮助信息等,并自动生成带有参数选项帮助文档。...4.使用合适帮助信息  对命令行程序来说,良好帮助信息是非常重要argparse库能够帮助我们自动生成带有参数选项帮助文档,但仍需我们提供合适帮助信息。...本文介绍了如何在Python中高效处理命令行参数。通过使用argparse库,我们能够轻松定义和解析命令行参数,并提供合适帮助信息。

18160

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

前言 在上一篇“深入 argparse (一)”文章,我们深入了解了 argparse 包括参数动作和参数类别在内基本功能,具备了编写一个简单命令行程序能力。...若你仍在使用 Python 2,请注意两者之间语法和库使用差异哦~ 帮助 自动生成帮助 当你在命令行程序中指定 -h 或 --help 参数时,都会输出帮助信息。...而 argparse 可通过指定 add_help 入参为 True 或不指定,以达到自动输出帮助信息目的。...入参来控制所输出帮助格式。...通过实现嵌套解析器,我们可以很容易地对这种子命令形式进行解析。 在嵌套解析器,我们定义一个父解析器来作为整个命令行入口,再分别定义N个子解析器来对应N个子命令,由此即可实现整个功能。

1.4K20

Python参数传递与解析

Python传递命令行参数 Python命令行参数传递和C语言类似,都会把命令行参数保存到argv变量。对于python而言,argv是sys模块定义一个list。...需要解析字符串,即sys.argv[1:] 2. 短选项集合。其中跟冒号短选项需要后接参数'o:'表示'-o'选项需要接参数。 3. 选项列表。其中跟等号选项需要后接参数。...err.opt是出错时正在解析选项,err.msg是错误消息。 出错情况包括: 1. 选项没有在传入参数短选项或者选项列表定义。 2. 需要带参数选项没有跟参数。 3....不需要带参数选项带了参数。 4. 其他。...'store_const': 存储常量,常量值位于const参数: $ cat arg_parse.py #!

2K70

Python 换行符以及如何在 Python 输出时不换行

Python 换行符用于标记行结尾和新行开始。如果你想将输出打印到控制台并使用文件,那么你非常需要知道如何使用它。...在本文中,你将学习: 如何在 Python 识别换行符 如何在字符串和打印语句中使用换行符 如何编写不会在字符串末尾添加换行符打印语句 我们开始吧!...如果打印一条语句,你将不会注意到这一点,因为将打印一行: 但是,如果你在 Python 脚本中一条接一条地使用多个打印语句: 将会输出单独几行,因为 \n 已被“幕后”添加到每行末尾:...类似的,我们可以使用它在同一行打印可迭代值: 输出结果是: 文件换行符 在文件也可以找到换行符 \n,但是它是“隐藏”。当你在文本文件中看到新行时,其实已经插入新行字符 \n。...本站提供信息存储空间服务,不拥有所有权,不承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

13.5K10

使用click创建完美的Python命令行程序

为了实现这一目标,我总结了四条原则,希望对大家有所帮助: 命令行参数应提供默认值 处理所有可能参数错误,包括缺少参数,数据类型错误,无法找到文件等 撰写完善文档,解释参数含义以及如何设置 使用进度条显示长时间运行任务...是否有更好方法来解析命令行参数? 进入argparse argparse是用于解析命令行参数Python标准库模块。...从本地文件读取输入 命令行参数接收值是将被加密最高机密消息,所以如果要求用户直接在终端输入纯文本,可能会引发安全顾虑。...一种更安全方法是使用隐藏提示,或者从本地文件读取文本 ,这对于长文本来说更加实用。 这个想法同样适用于输出:用户可以将其保存到文件,或者在终端打印出来。让我们继续优化脚本。...这很正常,因为它需要检查所有25个秘钥,每个秘钥都要检查10^4个单词是否出现在英文字典。 假设你要解密文本包括10^5个单词,那么就要花费50秒才能输出结果,用户可能会非常着急。

97110
领券