在自动化框架搭建中,一些配置文件(例如:数据库账号、url,日志级别等...)会经常的用到,所以我们需要一个存放这些参数的文件,并从中读取和写入。当然,存放参数除了用yaml,像ini文件、json文件、excel文件也是可以的,看个人选择。本文就介绍yaml文件的操作方法。
1、准备一个yaml文件,并存放一些测试数据
2、准备好数据后,就新建一个py文件,用于编写操作yaml文件的脚本。在开始之前我们需要导入yaml库 import yaml
3、读取yaml文件中所有数据,首先需要使用open方法去打开文件,再使用load方法将数据转化为字典,具体操作如下:
import yaml
yaml_path=os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),"test_yaml.yaml")
def read_yaml_all():
try:
# 打开文件
with open(yaml_path,"r",encoding="utf-8") as f:
data=yaml.load(f,Loader=yaml.FullLoader)
return data
except:
return None
运行之后,我们将得到整个文件的数据,以字典的形式展示
这时候,我只想取出 base_data中的login_name,那么应该怎么做呢??? 不急,继续往下看!
4、既然返回的数据是字典形式,那只需要根据key 就能得到对应的value了
import yaml
yaml_path=os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),"test_yaml.yaml")
def read_yaml(n,k):
# 打开文件
with open(yaml_path,"r",encoding="utf-8") as f:
data=yaml.load(f,Loader=yaml.FullLoader)
try:
#判断传入的n是否在存在
if n in data.keys():
return data[n][k]
else:
print(f"n:{n}不存在")
except Exception as e :
print(f"key值{e}不存在")
运行后,我们就得到了想要的base_data中的login_name了:
以上就是yaml文件的读取操作了,关于写入操作,后面再单独讲。