我是靠谱客的博主 鲤鱼香氛,这篇文章主要介绍argparse命令行解析包3. optional arguments,现在分享给大家,希望可以做个参考。

 

1. argparse

是python的一个命令行解析包,非常编写可读性非常好的程序,一般有3个步骤

  • 创建 ArgumentParser() 对象
  • 调用 add_argument() 方法添加参数
  • 使用 parse_args() 解析添加的参数

2.positional arguments

定位参数传值的方法--直接用 “参数名” 或者 ‘参数名’ (双引号或单引号均可)

复制代码
1
2
3
4
5
import 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

可选参数传值---两种表达方式

  1. 一种是通过一个-来指定的短参数,如-h
  2. 一种是通过--来指定的长参数,如--help;

这两种方式可以同存,也可以只存在一个

复制代码
1
2
3
4
5
6
7
8
import 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
8
import 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.内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部