什么是YAML
YAML 不是一种标记语言,是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读, 容易和脚本语言交互;
- 语法规则
1.大小写敏感 2.使用缩进表示层级关系 3.缩进时不允许使用Tab键,只允许使用空格。 4.缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- 支持的数据结构
1.对象:键值对的集合 2.数组:一组按次序排列的值,又称为列表(list) 3.纯量(scalars):单个的、不可再分的值
- PyYAML库安装
PyYAML为python解析yaml的库 安装:pip3 install -U PyYAML
读取yaml文件
yaml.load(stream,Loader=yaml.FullLoader)
参数: stream:待读取文件对象
写yaml文件
yaml.dump(data,stream,**kwds) 常用参数: data:写入数据类型为字典 stream:打开文件对象 encoding='utf-8' # 设置写入编码格式 allow_unicode=True # 是否允许unicode编码
示例:
import yaml
data = {'Search_Data': {
'search_test_002': {'expect': {'value': '你好'}, 'value': '你好'},
'search_test_001': {'expect': [4, 5, 6], 'value': 456}}}
with open("./text.yaml","w") as f: # 在当前目录下生成text.yaml文件,若文件存在直接更新内容
yaml.dump(data,f)
数据构造:
代码:
import yaml def build_data(): file_name="../data/data_login.yaml" data_list=[] with open(file_name,"r",encoding="utf-8") as f: # 方式一 # data = yaml.load(f,Loader=yaml.FullLoader)["success"] # for i in data.values(): # data_list.append(i) # print(data_list) # 方式二 data = list(yaml.load(f,Loader=yaml.FullLoader)['success'].values()) print(data) build_data()