1. argparse
是python的一个命令行解析包,非常编写可读性非常好的程序,一般有3个步骤
- 创建 ArgumentParser() 对象
- 调用 add_argument() 方法添加参数
- 使用 parse_args() 解析添加的参数
2.positional arguments
定位参数传值的方法--直接用 “参数名” 或者 ‘参数名’ (双引号或单引号均可)
复制代码
1
2
3
4
5import argparse parser = argparse.ArgumentParser() parser.add_argument('integer', type=int, help='display an integer') args = parser.parse_args() print args.integer
如图例子需要输入一个整数赋值给integer,
1⃣️没有按照规定类型赋值;
2⃣️赋给未定义变量;
3⃣️用定位参数法时,如果有多个参数,只赋值部分报错;----必须对全部参数进行赋值,哪怕没有调用;
以上情况任何一种,都会报错
3. optional arguments
可选参数传值---两种表达方式
- 一种是通过一个
-
来指定的短参数,如-h
; - 一种是通过
--
来指定的长参数,如--help;
这两种方式可以同存,也可以只存在一个
复制代码
1
2
3
4
5
6
7
8import argparse parser = argparse.ArgumentParser() parser.add_argument("--integer", type=int, help='display an integer') parser.add_argument('-float', type=float, help='display an integer') args = parser.parse_args() print (args.integer) print(args.float)
测试
复制代码
1
2
3
4
5
6
7
8
9>> python3 02.py 3 2.5 usage: 02.py [-h] [--integer INTEGER] [-float FLOAT] 02.py: error: unrecognized arguments: 3 2.5 >>python3 02.py --integer 3 2.5 usage: 02.py [-h] [--integer INTEGER] [-float FLOAT] 02.py: error: unrecognized arguments: 2.5 >> python3 02.py --integer 3 -float 2.5 3 2.5
说明:
1⃣️--声明和--赋值要一一对应
2⃣️--和-只是形式,并没有对参数名的长度有非常严格的要求
3⃣️用可选参数法声明多个参数时,可以只对部分进行赋值,并不会报错;前提是没有调用未赋值的参数
4.可选参数
复制代码
1
2
3
4
5
6
7
8import argparse parser = argparse.ArgumentParser() parser.add_argument("--integer","-int", type=int, help='display an integer') parser.add_argument('-float',"-f", type=float, help='display an integer') args = parser.parse_args() print (args.integer) print(args.float)
同一个变量给了两个名字,调用时使用较长名字的那一个,否则会报错;但是在参数赋值时,传给哪一个都可以。
复制代码
1
2
3
4
5>>> python3 02.py --int 3 -f 2.5 Traceback (most recent call last): File "02.py", line 8, in <module> print (args.int) AttributeError: 'Namespace' object has no attribute 'int'
参考:https://www.jianshu.com/p/fef2d215b91d
最后
以上就是鲤鱼香氛最近收集整理的关于argparse命令行解析包3. optional arguments的全部内容,更多相关argparse命令行解析包3.内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复