Python argparse模块用法
argparse是python推荐的命令行解析模块,命令行运行脚本时可以添加参数,在python脚本中通过该模块去解析参数,也可以限制参数类型,sys.argv也可以接收参数。
1. 示例
import argparse
# 创建解析对象, description是对它的描述
parser = argparse.ArgumentParser(description="test argparse")
# 向parser对象添加命令行参数和选项,这里两个参数,一个是长参数:--param1,一个是短参数:-p1
parser.add_argument("--param1", "-p1", type=str)
# 对命令行参数进行解析
args = parser.parse_args()
运行:
- 终端输入命令:python argparse_demo.py -p1=这里是参数p1
- 运行结果:
Namespace(param1='这里是参数p1')
这里是参数p1
add_argument()参数介绍:
- type:指定参数类型
- required:参数是否必填,如果为True则必须要传入对应的值
- help:python test.py -h 会出现对应help的内容
- nargs:指定这个参数后面的值有多少个,默认为1个,也可以写正则符号:+、*、数字
- choices:设置参数范围
2. 多个参数情况
如果有多个参数需要传给脚本执行,可以通过多添加add_argument(),示例:
import argparse
# 创建解析对象
parser = argparse.ArgumentParser(description="test argparse")
# 向parser对象添加命令行参数和选项,长参数--param1,短参数-p1
parser.add_argument("--param1", "-p1", type=str)
parser.add_argument("--param2", "-p2", type=int)
parser.add_argument("--param3", "-p", type=int)
# 对命令参数解析
args = parser.parse_args()
print(args)
# 输出每个参数的值
print(args.param1,"\n", args.param2,"\n", args.param3)
运行:
- 终端输入命令:python argparse_demo.py -p1=111 -p2=2 -p3 1 2 3
- 运行结果:
Namespace(param1='111', param2=2, param3=[1, 2, 3])
111
2
[1, 2, 3]
参考自文章:https://blog.csdn.net/rongDang/article/details/93095057