安装yaml
pip install pyyaml
格式
定义区域名:
excel:
选项名: 选项值
如果选项值为数字,那么会自动转化为数字类型(int、float)
如果选项值为true、on、True,那么会自动转化为True
如果选项值为false、off、False,那么会自动转化为False
其他有字母的,读取出来都为字符串类型
filename: “testcase.txt”
real_result_column: 7
result_column: 8
api:
api_version: lemonban.v2
api_version: {“X-Lemonban-Media-Type”: “lemonban.v2”}
base_url: ‘http://api.lemonban.com/futureloan’
full_load与dump用法
import yaml
import os
class HandYaml:
def __init__(self,filename=None):
# 获取当前文件的上一级目录
path_dir = os.path.abspath(os.path.join(os.path.dirname("__file__"), os.path.pardir))
if filename is None:
self.filename =path_dir+"\\confs\\testcases.yaml"
else:
self.filename = filename
with open(self.filename,encoding="utf-8") as file:
# full_load将yml文件中的数据转为Python的数据类型(load弃用)
self.config_data = yaml.full_load(file)
def get_data(self,section,option):
return self.config_data[section][option]
do_yaml = HandYaml()
if __name__ == "__main__":
#filenames1="testcases.yaml"
do_yaml = HandYaml()
data=do_yaml.get_data("excel","filename")
print(data)
print(do_yaml.get_data("api", "base_url"))
yaml_w ={'excel': {'filename': 'testcase.txt', 'real_result_column': 7, 'result_column': 8}}
with open("testcases.yaml","w") as f:
# yaml.dump 将Python数据转化成yaml格式
yaml.dump(yaml_w,f)