yaml数据读取


什么是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()

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM