python学习(十五)python读取配置yaml
我们在做自动化的过程中无论是接口自动化还是ui自动化都会存很多数据,我们对于自动化中如何存放数据也是很重要的,如果写在代码里的话,每次更换数据就有点繁琐,我们通过一个文件存放这些数据,然后在我们需要这些数据
数据直接调用,对于这些数据管理有很多种,比如:excel,yaml,ini,conf
yaml
yaml不是标记语言,是一种人类可读的数据序列化语言。他通常用于配置文件,但也用于数据存储(例如调试输出)或传输(例如文档标题)
yaml支持的类型:标量(例如字符串,整数和浮点数),列表和关联数组
yanl基本语法
1、大小写敏感
2、使用缩进表示层级关系,只可以使用空格
3、列表中的通过"-"表示,字典中的通过":"表示
4、# 表示注释,和python表示注释一样
yaml优点
1、yaml的可读性好
2、yaml的脚本语言的交互性好
3、yaml使用实现语言的数据类型
4、yaml有一个一致的信息模型
5、yaml易于实现
6、yaml可以基于流来处理
7、yaml表达能力强,扩展性好
编写yaml
读取yaml
import yaml import os # 获取当前脚本所在路径 curPath = os.path.dirname(os.path.realpath(__file__)) # 获取yaml文件路径 yamlPath = os.path.join(curPath, "name.yaml") # open方法直接读出来 f = open(yamlPath, 'r', encoding='utf-8') result = f.read() print(result) # 转换成字典读出来 d = yaml.load(result, Loader=yaml.FullLoader) print(d)
代码结果:
name : Zhujiliang age : 26 profession: name: 软件测试工程师 annul: 1k technology: - name1: app测试 pay: 0.5k - name2: web测试 pay: 0.5k
读取yaml具体值
import yaml import os # 获取当前脚本所在路径 curPath = os.path.dirname(os.path.realpath(__file__)) # 获取yaml文件路径 yamlPath = os.path.join(curPath, "name.yaml") # open方法直接读出来 f = open(yamlPath, 'r', encoding='utf-8') result = f.read() print(result) # 转换成字典读出来 d = yaml.load(result, Loader=yaml.FullLoader) print(d) print('我的名字是 :%s'%d['name']) print('我的职位是 :%s'%d['profession']['name']) print('我会的技术{}和{}'.format(d['technology'][0]['name1'],d['technology'][1]['name2']))
我的名字是 :Zhujiliang
我的职位是 :软件测试工程师
我会的技术app测试和web测试