argparse模块是python的内置模块,不需要单独安装,主要用于执行脚本的时候增加参数,使整个脚本看起来更加规范,参数更加整洁有序
我们先来看看argparse常见的方法和应用
首先创建一个解析对象,description就是这个命令操作的整体描述
parser = argparse.ArgumentParser(description = "help !")
add_argument方法就是往对象中添加你需要的参数,我这里是-n,help是这个参数的描述
parser.add_argument("-n", type=int, help="输出数量!")
parse_args则是解析这个对象参数
args = parser.parse_args()
我们来看看简单测试代码
#!/usr/bin/python3 #coding:utf-8 import argparse parser = argparse.ArgumentParser(description = "help !") parser.add_argument("-n", type=int, help="输出数量!") parser.add_argument("-v", type=int, help="输出版本!") args = parser.parse_args() print(args.v, args.n)
执行python test.py -h可以返回
可以看到我添加的参数和描述都有,同时我们可以直接用解析的args对象获取传入的参数的值,看下面执行结果
我们也可以不带-v,-n等这类提示参数那么直接改成下面这样即可
#!/usr/bin/python3 #coding:utf-8 import argparse parser = argparse.ArgumentParser(description = "help !") parser.add_argument("n") args = parser.parse_args() print(args.n)
我们也可以通过添加action="store_true",让-v,-n后面不带实际参数
#!/usr/bin/python3 #coding:utf-8 import argparse parser = argparse.ArgumentParser(description = "help !") parser.add_argument("-n", help="输出数量!", action="store_true") parser.add_argument("-v", help="输出版本!", action="store_true") args = parser.parse_args() print(args.v, args.n)
返回
如果像之前那样添加实际参数值的话就提示报错了
最后add_argument方法内还可以使用可选值choices
choices:限定参数值范围(规定只接收规定列表中的值),值为列表。例:choices=[1,2,3] default:指定参数默认值。例:default=100
具体代码我们再看看
#!/usr/bin/python3 #coding:utf-8 import argparse parser = argparse.ArgumentParser(description = "help !") parser.add_argument("-n", type=int, help="输出数量!", choices=[1,2,3], default=2) parser.add_argument("-v", type=int, help="输出版本!", choices=[7,8,9], default=8) args = parser.parse_args() print(args.v, args.n)