基于python的yaml配置文件使用方法
一、介绍
- YAML是一种简洁的非标记语言
- YAML以数据为中心,使用空白、缩进、分行组织数据,从而使表达更加简洁易懂
二、基本规则
- 大小写敏感
- 使用缩进表示层级关系
- 禁止使用Tab缩进,只能使用空格键
- 缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级
- 使用“#”表示注释
- 字符串可以不用引号标注
三、yaml库安装
支持两种库:PyYAML 和 ruamel.yaml
这里选择PyYAML库,使用pip安装:
pip install PyYaml
四、yaml常用数据结构
1.字典
使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map
方式一:(注意冒号后必须有一个空格)
key: value1
key2: value2
方式二:使用流式(flow)语法
{key: value, key2: value2}
方式三:使用缩进表示层级关系
key:
key: value
key2: value
对应结果:{'key': {'key': 'value', 'key2': 'value'}}
2.列表
使用连字符(-)表示,连字符后必须使用一个空格
方式一:
- hello
- world
方式二:使用流式(flow)语法
[hello, world]
方式三:使用缩进表示层级关系
- python - hello - world
对应结果:['python', ['hello', 'world']]
3.纯量scalar
yaml中提供了多种纯量,包括整数、浮点数、字符串、null、日期、布尔值、时间
boolean: - TRUE # true, True都可以 - FALSE # false, False都可以 float: - 3.14 - 6.8523015e+5 # 可以使用科学计算法 int: - 123 - 0b1010_0111_0100_1010_1110 # 二进制表示 null: nodeName: 'node' parent: ~ # 使用~表示null string: - 哦豁 - 'hello world' # 可以使用双引号或者单引号包裹特殊字符 - newline newline2 # 字符串可以折成多行,每一行会被转化成空格 date: - 2019-11-14 # 日期必须使用ISO 8601格式,即YYYY-mm-dd datetime: - 2019-11-14T08:56:30+08:00 # 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+号代表时区
五、使用方法
1.引入yaml模块
import yaml
2.读取yaml数据
- 打开yaml文件
- 使用yaml的load()方法,并且可以传入Loader=yaml.FullLoader解决告警的问题
我们可以将appium的启动会话参数使用yaml配置文件管理:
import pprint import yaml with open('desired_caps.yaml', encoding='utf-8') as fs: data = yaml.load(fs, Loader=yaml.FullLoader) pprint.pprint(data)
使用以上代码将内容读取出来,结果如下:
作者:小公瑾
-------------------------------------------
个性签名:不忘初心,方得始终!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!