在自动化框架搭建中,一些配置文件(例如:数据库账号、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__))),"coco128.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
运行之后,我们将得到整个文件的数据,以字典的形式展示
这时候,我只想取出 logger 中的 description ,那么应该怎么做呢??? 不急,继续往下看!
4、既然返回的数据是字典形式,那只需要根据 key 就能得到对应的 value 了
import yaml
yaml_path=os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),"coco128.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}不存在")
运行后,我们就得到了想要的 logger 中的 description 了: