0. argparse模块
argsparse是python的命令行解析的标准模块,命令行选项、参数和子命令解析器。内置于python,不需要安装。这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。
1. 使用格式
(1)导入argparse包;
(2)创建解析器:创建一个 ArgumentParser 对象,ArgumentParser 对象包含将命令行解析成 Python 数据类型所需的全部信息
(3) 添加参数:给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的
(4)解析参数:ArgumentParser 通过 parse_args() 方法解析参数
例子:
import argparse
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#type是要传入的参数的数据类型 help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')
args = parser.parse_args()
将上述代码保存为demo.py,然后在命令行进入这个文件所在的位置,然后在命令行输入:
python demo.py -h
在命令行中看到demo.py的运行结果如下:
usage: demo.py [-h] integers
命令行中传入数字
positional arguments:
integers 传入的数字
optional arguments:
-h, --help show this help message and exit
现在我们在命令行中给demo.py 传入一个参数5,
python demo.py 5
运行,得到的运行结果是:
Namespace(integers='5')
要使用integers这个变量时,得进行引用:
print(args.integers)
结果为:
5
2.参数个数
(1)一个参数
argparser = argparse.ArgumentParser(description=__doc__)
argparser.add_argument(
'-c', '--config',
metavar='C',
default='None',
help='The Configuration file')
args = argparser.parse_args()
这里的’-c’和’–config’都代表config,就像’-h’和’–help’都代表help一样,所以上面的代码只要手动输入一个参数,例如:
python3 try.py -c=NAB_config.json
(2)多个参数
import argparse
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
parser.add_argument('integers', type=str, nargs='+',help='传入的数字')
args = parser.parse_args()
print(args.integers)
nargs是用来说明传入的参数个数,’+’ 表示传入至少一个参数。这时候再重新在命令行中运行python demo.py 1 2 3 4得到
['1', '2', '3', '4']