介绍
argsparse是python的命令行解析的标准模块,内置于python
这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。
条件
命令行执行时cd到python文件地址
cd E:/..........
主要步骤
-
创建 ArgumentParser() 对象
-
调用 add_argument() 方法添加参数
-
使用 parse_args() 解析添加的参数
传入一个参数
import argparse
#description为命令行描述文字
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#type是要传入的参数的数据类型 help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')
args = parser.parse_args()
#获得integers参数
print(args.integers)
查看命令需要输入形式:(h或help)
python demo.py -h
命令行幅值运行:
python demo.py 5 #integer内容为5
传入多个参数
nargs是用来说明传入的参数个数
- nargs=’*’ 表示参数可设置零个或多个
- nargs=’+’ 表示参数可设置一个或多个
- nargs=’?’ 表示参数可设置零个或一个
parser.add_argument('integers', type=str, nargs='+',help='传入的数字')
输入:
python demo.py 1 2 3 4
位置参数
在命令行中传入参数时候,传入的参数的先后顺序不同,运行结果往往会不同
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('param1', type=str,help='姓')
parser.add_argument('param2', type=str,help='名')
args = parser.parse_args()
可选参数
如果容易忘了顺序,可以使用可选参数,在关键词前面加--
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str,help='姓')
parser.add_argument('--name', type=str,help='名')
args = parser.parse_args()
输入:
python demo.py --family=张 --name=三
默认值
default参数对某个参数设置默认值,如果命令行中没有传入该参数的值,程序使用默认值。
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str, default='张',help='姓')
parser.add_argument('--name', type=str, default='三', help='名')
args = parser.parse_args()
必要参数
required参数可以设置该参数是否必需
parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str, help='姓')
parser.add_argument('--name', type=str, required=True, default='', help='名')
args = parser.parse_args()
动作参数
action - 命令行遇到参数时的动作,默认值是 store。
- store_const,表示赋值为const;
- append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
- append_const,将参数规范中定义的一个值保存到一个列表
- count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析;