学习资讯
Argparse模块入门
简介
Argparse是标准库提供的命令行解析模块,它基于废弃模块optparse,类似模块还有getopt,对应C语言中的getopt函数。
相关概念
linux用户应该对以下4个命令不陌生,这4个命令说明了ls命令4种参数用法。
ls
ls python
ls -l
ls --help
1
2
3
4
*一个命令不带参数
第二个命令中的python是位置参数,命令如何处理位置参数完全取决于参数所处的位置,类似的如cp命令基本用法中的*一个参数和第二个参数。
第三个命令中的-l是可选参数
第四个命令中的--help参数是默认的可选的帮助参数
基本用法
程序1:argparse _usage.py
import argparse #导入argparse
parser = argparse.ArgumentParser() #初始化解析器
parser.parse_args() #解析命令行
1
2
3
上述代码运行后只能使用--help参数或者它的缩写-h,即--hep参数是默认添加的。
$ py -3 argparse _usage.py
$ py- 3 argparse _usage.py --help
usage: argparse _usage.py [-h]
optional arguments:
-h, --help show this help message and exit
1
2
3
4
5
6
进阶用法1:添加位置参数
程序2:argparse _usage.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print(args.echo)
1
2
3
4
5
相比于程序1:
parser.add_argument("echo")使用了parser的add_argument()方法,这是argparse模块用于定义接受那些命令行参数(选项)的方法。该方法使用参数echo,表明echo为位置参数。
parser.parse_args()的返回值为命令行中输入的参数数据,数据结构为Namespace,可以理解为类似字典结构的键值对,即属性:属性值,访问属性(键)时可以使用object.attribute式的语法。在argparse模块定义中包含Namespace类的定义。类似 Namespace的对象可以使用内置函数vars()转换为字典。
$ py -3 argparse _usage.py
usage: argparse _usage.py [-h] echo
argparse _usage.py: error: the following arguments are required: echo
$ py -3 argparse _usage.py --help
usage: argparse _usage.py [-h] echo
positional arguments:
echo
optional arguments:
-h, --help show this help message and exit
$ py -3 argparse _usage.py foo
foo
Argparse是标准库提供的命令行解析模块,它基于废弃模块optparse,类似模块还有getopt,对应C语言中的getopt函数。
相关概念
linux用户应该对以下4个命令不陌生,这4个命令说明了ls命令4种参数用法。
ls
ls python
ls -l
ls --help
1
2
3
4
*一个命令不带参数
第二个命令中的python是位置参数,命令如何处理位置参数完全取决于参数所处的位置,类似的如cp命令基本用法中的*一个参数和第二个参数。
第三个命令中的-l是可选参数
第四个命令中的--help参数是默认的可选的帮助参数
基本用法
程序1:argparse _usage.py
import argparse #导入argparse
parser = argparse.ArgumentParser() #初始化解析器
parser.parse_args() #解析命令行
1
2
3
上述代码运行后只能使用--help参数或者它的缩写-h,即--hep参数是默认添加的。
$ py -3 argparse _usage.py
$ py- 3 argparse _usage.py --help
usage: argparse _usage.py [-h]
optional arguments:
-h, --help show this help message and exit
1
2
3
4
5
6
进阶用法1:添加位置参数
程序2:argparse _usage.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print(args.echo)
1
2
3
4
5
相比于程序1:
parser.add_argument("echo")使用了parser的add_argument()方法,这是argparse模块用于定义接受那些命令行参数(选项)的方法。该方法使用参数echo,表明echo为位置参数。
parser.parse_args()的返回值为命令行中输入的参数数据,数据结构为Namespace,可以理解为类似字典结构的键值对,即属性:属性值,访问属性(键)时可以使用object.attribute式的语法。在argparse模块定义中包含Namespace类的定义。类似 Namespace的对象可以使用内置函数vars()转换为字典。
$ py -3 argparse _usage.py
usage: argparse _usage.py [-h] echo
argparse _usage.py: error: the following arguments are required: echo
$ py -3 argparse _usage.py --help
usage: argparse _usage.py [-h] echo
positional arguments:
echo
optional arguments:
-h, --help show this help message and exit
$ py -3 argparse _usage.py foo
foo
更多培训课程,学习资讯,课程优惠等学校信息,请进入 太原小店区C语言培训太原迎泽区程序设计培训 网站详细了解,免费咨询电话:400-998-6158