Python--参数解析包argparse
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。
基本用法
下面是使用argparse从命令行获取用户名,并打印’Hello’ + ‘用户名’。
1 | #python3 |
命令执行结果:
1 | $ python3 test.py |
- 上面的代码段中,我们显示引入了
argparser
包,然后通过argparser.ArgumentParser
函数生成parser
对象,其中这个函数的description
函数表示在命令行显示帮助信息的时候,这个程序的描述信息。可以通过python3 test.py -h
显示帮助信息。 - 之后我们通过对象的
add_argument
函数来增加参数。其中,--Name
表示完整的参数名,在后续编程中使用的必须是这个完整参数名。-n
表示简化的参数名,是为了方便程序的使用者。default
是可选参数,表示参数的默认值。help
是参数的说明信息,在帮助信息中会显示。 - 参数设置完成后,通过对象的
parse_args
函数传递给变量args
,便于后续编程。 - 调用参数:通过完整参数名来调用参数内容,如
args.Name
。
parser.add_argument() 常用参数
- 完整形参和简化形参
完整形参是必需的,两条横线声明,如上面案例中的
--Name
简化形参用一条横线声明,如上面案例中的-n
2. default 参数默认的值
3. required 表示这个参数是否一定需要设置
如果设置了
required=True
,则在实际运行的时候必需设置此参数,否正程序报错
4. type 参数类型
默认参数类型是字符串(str)。如果程序需要一个整数或布尔值类型的话,则需要设置
type=int
或type=bool
。
5. choices 参数值可选择的选项,如一下代码
1 | #参数的值只能是alexnet或vgg |
6. dest 设置参数在代码中的变量名
argparse默认的变量名是–或-后面的字符串,但是你也可以通过dest=xxx来设置参数的变量名,然后在代码中用args.xxx来获取参数的值。
7. narg 指定该参数后面的参数值个数
使用方式如下:
``python
parser.add_argument(‘-name’, nargs=x)
1 |
|
执行结果:
1 | $ python3 nargs.py -name A B C |
原文作者: Billy & Barney
原文链接: https://liangbilin.github.io/2019/08/17/Billy--Python3包(argparse)学习笔记/
版权声明: 转载请注明出处(必须保留作者署名及链接)