欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python yaml文件存储变量

程序员文章站 2022-06-11 17:58:47
最近,在写接口自动化测试框架时,遇到了一个问题,经过base64编码的图片长度很大,如果直接放在Ymal文件中肯定不太合适,于是,就想能不能在yaml中存入一个变量? 结果可行。思路就是:在yaml中存储一个含有特殊字符的字符串读取yaml数据,进行序列化设一个空字典,将字典的key设为与特殊字符串中的变量名一致取字典完成替换#yaml文件写法- {'status':1,'msg':'ok','type':'${type}'}import jsonimport yaml....
  • 最近,在写接口自动化测试框架时,遇到了一个问题,经过base64编码的图片长度很大,如果直接放在Ymal文件中肯定不太合适,于是,就想能不能在yaml中存入一个变量? 结果可行。
  • 思路就是:
    1. 在yaml中存储一个含有特殊字符的字符串
    2. 读取yaml数据,进行序列化
    3. 设一个空字典,将字典的key设为与特殊字符串中的变量名一致
    4. 取字典完成替换
#yaml文件写法
-
  {'status':1,'msg':'ok','type':'${type}'}
import json
import yaml

def replace_method(**kwargs):
    with open('./testdata/verb.yaml','r') as f:
        data = yaml.safe_load(f)
	#序列化
    data1 = json.dumps(data)

    for key,value in kwargs.items():
        data1 = data1.replace(f'${{{key}}}',value)
    #反序列化
    data2 = json.loads(data1)        
    return data2


print(replace_method(type='ok'))

本文地址:https://blog.csdn.net/Unstoppable365/article/details/107330636