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测试
原文地址:https://www.cnblogs.com/jiliangceshi/p/13230255.html