argparse模块
作用: argparse 是 Python 内置的一个用于命令项选项与参数解析的模块
,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。
使用步骤:
- import argparse 导入模块
- parser = argparse.ArgumentParser() 创建一个解析对象
- parser.add_argument() 向该对象中添加需要关注的命令行参数和选项
- parser.parse_args() 进行解析
一个例子了解argparse用法:
import argparseparser = argparse.ArgumentParser(description="calculate the square of a given number")
# 定位参数:参数名称,参数类型(参数默认是str,输入非str时需要指定参数类型),参数帮助信息
parser.add_argument("number", type=int, help="input a number to calculate it's square")
# 可选参数:参数的简写,参数全称,参数类型,参数的可选值,参数帮助信息
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1], help="increase output verbosity")
args = parser.parse_args()if args.verbosity == 0:print("verbosity = 0 ")
elif args.verbosity == 1:print("verbosity = 1 ")print("the square of %d is %d" % (args.square, args.square ** 2))
else:print("verbosity = None")
命令行输入 python parser_test.py,会提示使用的方法:在parser_test.py可选择性输入
-h,可选择性输入
-v(但-v的取值只能是0和1,必须输入
number。
python parser_test.py
usage: parser_test.py [-h] [-v {0,1}] number
parser_test.py: error: the following arguments are required: number
使用 -h 来查看帮助(-h是自带的可选择参数)
python parser_test.py -h
usage: parser_test.py [-h] [-v {0,1}] number
calculate the square of a given number
positional arguments:
number input a number to calculate it’s square
optional arguments:
-h, --help show this help message and exit
-v {0,1}, --verbosity {0,1} increase output verbosity
输入参数number,定位参数
只需要根据参数声明时候的顺序输入即可
python parser_test.py 2
verbosity = None
输入参数verbosity,可选参数
必须指明是哪个可选参数,用缩写或非缩写都可以
python parser_test.py 2 0
usage: parser_test.py [-h] [-v {0,1}] number
parser_test.py: error: unrecognized arguments: 0
python parser_test.py 2 -v 0
verbosity = 1
the square of 2 is 4
更多参数介绍查看:Python 命令行工具 argparse 模块使用详解