yaml简介
-
yaml : Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,更直观,更方便,有点类似于json格式。在自动化测试用的相当多,所以需要小伙伴们要熟练掌握,把测试数据存放在yaml文件,也可以进行参数化。
-
yaml基本语法规则:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格。
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- '#'表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样
- yaml支持的数据结构有三种:
-
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期
一、安装yaml
pip install pyyaml
pip install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple
安装过程。
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting pyyaml
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/89/26/0bfd7b756b34c68f8fd158b7bc762b6b1705fc1b3cebf4cdbb53fd9ea75b/PyYAML-6.0-cp36-cp36m-win_amd64.whl (153 kB)
Installing collected packages: pyyaml
Successfully installed pyyaml-6.0
2.yaml的基本使用
在同一目录下新建 test_data.yaml
和 read_yaml.py
文件。
read_yaml.py
文件中的内容
import yaml
f = open('test_data.yaml', 'r', encoding='utf-8')
cfg = f.read()
d = yaml.load(cfg, Loader=yaml.FullLoader) # 用load转字典
Loader = yaml.FullLoader # yaml5.1版本后弃用yaml.load(file)这个用法,因为不安全
print(d)
参考: