一、简介
1、argparse 是一个 Python 模块:命令行选项、参数和子命令解析器。
2、argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。
二、代码如下
import argparse
# 使用方法 python test.py --url=www.baidu.com --token=12345 --need --need1
# 1、创建 ArgumentParser()对象
parser = argparse.ArgumentParser(description="这里是描述,balabala")
# 2、定义需要获取的参数
parser.add_argument('--url', type=str, help="请求接口的url,必填", required=True)
parser.add_argument('--token', type=str, help="请求接口的token,非必填", metavar="123456", required=False, default="123456")
parser.add_argument('--need', help="是否需要,非必填", required=False, action='store_true')
parser.add_argument('--need1', help="是否需要,非必填", required=False, action='store_const', const=123)
# 参数解释
# required 参数是否必填
# metavar 参数值示例,在-h或者--help时会显示,不影响程序运行
# default 默认值,不传此参数的时候就取这个值
# action 当参数在命令行中出现时使用的动作基本类型。
# 如: action='store_true' 解析到了/出现了该参数就设置为true,反之false
# 也可以自定义值,用法如下: action='store_const', const=123 解析到了/出现了该参数就设置为123,反之为None
# 3、使用 parse_args() 解析添加的参数
args = parser.parse_args()
# 4、将获取到的cmd参数转换为字典,例:{'url': 'www.baidu.com', 'token': '12345', 'need': True, 'need1': 123}
arguments = vars(args)
print(arguments)
三、部分参数解释
1、parser.add_argument()
required 参数是否必填
metavar 参数值示例,在-h或者--help时会显示,不影响程序运行
default 默认值,不传此参数的时候就取这个值
action 当参数在命令行中出现时使用的动作基本类型。
如: action='store_true' 解析到了/出现了该参数就设置为true,反之false
也可以自定义值,用法如下: action='store_const', const=123 解析到了/出现了该参数就设置为123,反之为None