为了解决这个问题,我们需要使用封装更多功能的工具,也是本篇文章的核心——argparse。...基本用法 argparse是Python当中的一个库,我们需要先import一下,这个库我没记错应该是Python自带的,也不需要安装,我们直接就可以使用。...在我们使用之前,我们需要先初始化这个parse,也就是一个参数解析器。...# 这里ArgumentParser可以传入一个字符串,表示用途 parser = argparse.ArgumentParser() parser.parse_args() 这个时候其实就已经有了一个解析器了...,我们在运行的时候可以传入参数-h,表示help,也就是查看目前解析器当中定义的参数。
程序定义了它需要什么参数,argparse将找出如何从sys.argv中解析这些参数。argparse模块还自动生成帮助和使用消息,并在用户给程序提供无效参数时发出错误。...需要支持不同或额外前缀字符的解析器,例如+f或/foo选项,可以使用ArgumentParser构造函数的prefix_chars= argument指定它们:>>> parser = argparse.ArgumentParser...在解析命令行时,如果遇到选项字符串后面没有命令行参数,那么将使用const的值。有关示例,请参见nargs描述。...解析器可能会使用一个选项,即使它只是它的一个已知选项的前缀,而不是将它留在剩余的arguments列表中。...这些解析器不支持所有argparse特性,如果使用不支持的特性,就会引发异常。特别是子解析器argparse。不支持同时包含选项和位置的剩余组和互斥组。
本文将继续深入了解 argparse 的进阶玩法,一窥探其全貌,助力我们拥有实现复杂命令行程序的能力。 本系列文章默认使用 Python 3 作为解释器进行讲解。...若你仍在使用 Python 2,请注意两者之间语法和库的使用差异哦~ 帮助 自动生成帮助 当你在命令行程序中指定 -h 或 --help 参数时,都会输出帮助信息。...在 argparse 中,选项参数前缀默认采用 Unix 命令行约定,也就是 -。...-、+和/,从而: 通过指定选项参数 -power,使得 power=False 通过指定选项参数 +power,使得 power=True 通过指定选项参数 /win,使得 win=True 共享解析器...: parser 为解析器实例 namespace 存放解析结果 values 即命令行中传入的参数值 option_string 为参数选项 在下面的例子中,我们通过 --words 传入单词,并在自定义动作类中将其值转换为大写
opts的元素是一个元组,保存了解析好的选项和参数对。args保存了除去所有选项和选项的参数之外,剩下的所有参数。 如果解析出错则会抛出GetoptError异常,该异常有一个参数err。...err.opt是出错时正在解析的选项,err.msg是错误消息。 出错的情况包括: 1. 选项没有在传入参数中的短选项或者长选项列表定义。 2. 需要带参数的选项没有跟参数。 3....argparse来解析选项和参数 argparse模块功能更加强大,例如可以自动生成help文档等,使用起来也更加简便,只需要三个步骤即可。...args的属性,存储参数的值,flags定义指定的选项,flag的名字也会作为解析后返回的对象的属性,存储该选项的参数。...,所以大多数的python项目都采用argparse来解析参数。
argparse模块 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 使用步骤 import argparse # 导入模块,这个没什么说的...argparse parser = argparse.ArgumentParser(description='解析命令行参数') # 把这个说明也加上 parser.add_argument('echo...另外上面讲过的那些关键参数,比如说明、默认值、候选值都可以使用 import argparse parser = argparse.ArgumentParser(description='解析命令行参数...指定选项参数的变量名 就如上面讲的,执行选项参数的变量名 import argparse parser = argparse.ArgumentParser(description='解析命令行参数')...这里的变量名是自己在dest里指定的了 print(args) # 看看整个的内容 选项参数-设为必须 使用required=True 后,这个选项就不再是可选的了,而是必须输入 import argparse
创建一个解析器 使用 argparse 的第一步是创建一个 ArgumentParser 对象: >>> parser = argparse.ArgumentParser(description='Process...(通常是不必要的) add_help - 为解析器添加一个 -h/--help 选项(默认值:True) allow_abbrev - 如果缩写是无歧义的,则允许缩写长选项 (默认值:True) 以下部分描述这些参数如何使用...如果解析器需要支持不同的或者额外的字符,比如像 +f 或者 /foo 的选项,可以在参数解析构建器中使用 prefix_chars= 参数。...required - 此命令行选项是否可省略 (仅选项可用)。 help - 一个此选项作用的简单描述。 metavar - 在使用方法消息中使用的参数值示例。...在允许多次使用选项时很有用。
,所以现在主要学习argparse argparse argparse 解析命令行选项,参数以及子命令 argparse 可以帮助更方便的写出用户友好的命令行接口。...程序定义它需要什么参数,argparse 解决如何解析这些来自sys.argv 的参数 argparse 同样自动生成帮助和使用说明信息并且当使用者给出错误参数时分发错误 #引入模块 import argparse...#构建ArgumentParser对象,用来保存解析命令行所得的信息 parser = argparse.ArgumentParser(description='Process some intergers...自定义帮助输出的类,控制输出的格式 prog 程序的名字,默认为sys.argv[0] usage 描述程序使用说明 add_argument() 参数简介: name or flags 选项名字,可选参数以...() 解析后返回的名字,如不指定名字,则使用– 或者- 之后的名字 parse_args() 默认参数来自sys.argv 返回一个包含解析后的参数的namespace 其他功能 子命令 即命令之下包含又一层命令
argparse 是 Python 内置的一个用于命令项选项与参数解析的模块。它的作用是帮助我们处理命令行输入,轻松编写用户友好的命令行接口。...使用 argparse 模块,可以轻松编写用户友好的命令行界面。程序定义了它需要的参数,argparse 就会找出如何从 sys.argv 中解析出这些参数。...总的来说,这段代码使用 argparse 设置了一个参数解析器,定义了多个命令行参数及其类型、默认值和帮助信息,解析了所提供的参数,最终以字典形式返回。.../logs/ 对于 argparse 模块,总结一下: 易于使用:argparse 是 Python 中一个非常实用的模块,用于解析命令行参数。...您可以创建用户友好的命令行接口,使我们的 Python 脚本更易于使用和管理。 灵活性:通过使用 argparse,我们可以轻松地解析命令行参数。
简介 argparse 模块主要用于处理 Python 命令行参数和选项,程序定义好所需参数后,该模块会通过 sys.argv 解析出那些参数;除此之外,argparse 模块还会自动生成帮助和使用手册...使用 argparse 模块,我们可以轻松的编写出用户友好的命令行接口。 2....使用 我们先来看一个简单示例: import argparse # 创建解析对象 parser = argparse.ArgumentParser() # 解析 parser.parse_args()...(通常是不必要的) add_help:为解析器添加一个 -h/--help 选项(默认值:True) allow_abbrev:如果缩写是无歧义的,则允许缩写长选项 (默认值:True) parse_args...help:一个选项作用的简单描述 metavar:在使用方法消息中使用的参数值示例 dest:被添加到 parse_args() 所返回对象上的属性名 下面我们通过具体示例看一下: import argparse
argparse模块的功能 该模块可以在命令模式下完成使用者与程序之间的参数交互,并且这个模块会自动生成help菜单,让使用者可以通过 -h|–help查看程序的使用方法等。...使用方法 这里主要分四步: import导入该模块:import argparse 创建解析器对象:parse = argparse.ArgumenParser() 添加需要的命令行参数与选项:parse.add_argument...() 解析:parse.parse_args() 这里主要介绍一下第二,三步中这两个方法的使用。...| 补充字段描述 | | parents | None | 从父(公共)解析器中继承所有的参数选项...# author:Tommonkey # date:2022/5/4 import sys import argparse def arg_parse(): # 构造解析器 parse
案例:假定我们创建这样一个脚本,可以通过命令行向脚本文件传递两个文件名,同时我们通过另外一个选项查看脚本的使用。...描述:argparse模块用于命令行选项、参数和子命令的解析器 基础语法: #创建解析器,ArgumentParser对象将保存将命令行转换成Python数据类型所需的所有信息。...,prog='TestArgumentDemo') - prog :程序名称(默认:sys.argv[0]) - usage : 描述程序使用情况的字符串(默认值:生成的fromarguments添加到解析器中.../usr/bin/env python # coding:utf-8 # 功能:了解ArgumentParser与使用 import argparse import os,sys def main(...): parser = argparse.ArgumentParser(description="""\ 实现指定输入参数来来输入的值进行解析 采用Argparse
案例:假定我们创建这样一个脚本,可以通过命令行向脚本文件传递两个文件名,同时我们通过另外一个选项查看脚本的使用。...WeiyiGeek.getopt argparse.ArgumentParser 描述:argparse模块用于命令行选项、参数和子命令的解析器 基础语法: #创建解析器,ArgumentParser...,prog='TestArgumentDemo') - prog :程序名称(默认:sys.argv[0]) - usage : 描述程序使用情况的字符串(默认值:生成的fromarguments添加到解析器中.../usr/bin/env python # coding:utf-8 # 功能:了解ArgumentParser与使用 import argparse import os,sys def main(...): parser = argparse.ArgumentParser(description="""\ 实现指定输入参数来来输入的值进行解析 采用Argparse
补充知识:argparse解析命令行参数 argparse简介: 在argparse中,最常用的就是上述三部分了:创建一个ArgumentParser对象;使用add_argument()方法来为创建的...action=’version’,需要定义version,使用时输出版本信息并退出。 自定义,通过定义一个argparse.Action子类来实现。实际上,上面的这些可选项都是通过这种形式定义的。...nargs=argparse.REMAINDER,所有剩余的参数,均转化为一个列表赋值给此项,通常用此方法来将剩余的参数传入另一个parser进行解析。...如果是一个字符串,那么Parser解析的时候会将它作为命令行传入值,使用type的值来进行转换类型,但是如果不是的话,就会使用定义的值而不进行类型转换。如果设置了nargs=’?’...parse_args()会返回填充好的Namespace对象 实例: 以faster rcnn代码中的命令行解析为例: #coding=utf-8 import argparse import sys
本文将以我们日常工作中最常见的 git 命令为例,讲解如何使用 argparse 库来实现一个真正可用的命令行程序。 本系列文章默认使用 Python 3 作为解释器进行讲解。...然后使用如下命令提交信息: git commit -m "your commit message" 最后使用如下命令将提交推送到远程仓库: git push 我们将使用 argparse 和 gitpython...,我们需要实现位置参数,而且数量是任意个 针对 git commit --message msg 或 git commit -m msg,我们需要实现选项参数,且即可长选项,又可短选项 程序结构 命令行程序需要一个...实现 假定我们在 argparse-git.py[2] 文件中实现我们的 git 程序。 构建解析器 我们需要构建一个父解析器,作为程序的根解析器,程序名称指定为 git。...额外要做的是,要在子解析器 commit_parser 上添加一个 -m/--message 选项参数,且要求必填: def cli(): ...
argparse 是 Python 标准库中用来解析命令行参数和选项的模块,其是为替代已经过时的 optparse 模块而生的,该模块在 Python2.7 中被引入。...argparse模块的作用是用于解析命令行参数。...创建解析器 使用 argparse 解析命令行参数时,首先需要创建一个解析器,创建方式如下所示: import argparse parser = argparse.ArgumentParser() ArgumentParser...添加参数选项 为应用程序添加参数选项需要用 ArgumentParser 对象的 add_argument 方法,该方法原型如下: add_argument(name or flags...[, action...('-xX'.split()) Namespace(foo=None, x='X') 使用示例 编写一个脚本 main.py,使用方式如下: main.py -u http://www.sohu.com
2.使用argparse库处理命令行参数 Python标准库中的argparse模块提供了一个简单而强大的命令行参数解析器。...使用argparse库可以轻松定义命令行参数的类型、默认值、帮助信息等,并自动生成带有参数选项的帮助文档。...以下是一个使用argparse库处理命令行参数的示例: ```python import argparse #创建一个解析器 parser=argparse.ArgumentParser(description...通过调用parse_args方法解析命令行参数后,我们就可以通过args对象来使用这些命令行参数了。 3.添加更多高级特性 argparse库还提供了许多高级特性,以满足更复杂的需求。...通过使用argparse库,我们能够轻松定义和解析命令行参数,并提供合适的帮助信息。
argparse是一个Python模块:命令行选项、参数和子命令解析器。...通过使用这种方法,可以在使用 1、argparse简介: argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。...通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。...2、argparse使用——code dome import argparse parser = argparse.ArgumentParser(description='test') parser.add_argument...ArgumentParser() 对象 2、添加参数——调用 add_argument() 方法添加参数 3、解析参数——使用 parse_args() 解析添加的参数 2.1 创建一个解析器——创建
利用argparse模块实现脚本命令行参数解析 #代码实践1 study.py内容如下 #!...): ''' 基于argparse模块实现命令参数解析功能 执行示例: python study.py -i 172.19.7.236 -p 8080 -a -r...ARGS = parser.parse_args() # 获取命令行参数 print('ARGS:', ARGS) # 获取某个参数值 if ARGS.ip: # 注意,这里的参数名,必须使用参数全称...如上,以上代码实现是针对单个模块脚本,如果要在多个模块中使用咋办?解决方法为封装为类,具体参见“代码实践2” #代码实践2 argument_parser.py #!...,建议在脚本最上方构造参数解析器对象) study.py内容如下 #!
可以看到argparse标准库其实用起来很简单,分成三个步骤: 创建ArgumentParser对象 使用add_argument方法添加参数 使用parse_args方法接受并解析对象 下面我们就依次来看看这些步骤吧...argparse.SUPRESS conflict_handler - 解决冲突选项的策略(通常是不必要的) add_help - 为解析器添加一个 -h/--help 选项(默认值: True) allow_abbrev...name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo。 action - 当参数在命令行中出现时使用的动作基本类型。...required - 此命令行选项是否可省略 (仅选项可用)。 help - 一个此选项作用的简单描述。 metavar - 在使用方法消息中使用的参数值示例。...如果参数比较多,可以使用参数组的方式将功能相近的参数进行分组,这样不管是开发人员还是使用人员都能更清晰的使用参数。 互斥参数组。如果某些参数不能同时使用,可以将它们加到互斥参数组中。 部分解析。
领取专属 10元无门槛券
手把手带您无忧上云