日常学习之:Yaml 和 Json 有什么区别
创始人
2024-03-24 10:34:43
0

安装

  • json 是 python 内置

  • yaml 需要安装

    pip install pyyaml
    

格式

对于同样一段数据:

test_data = {"金山中学":{"101班":{"王宁": {"语文":33,"数学":22,"英语":18}}}}
  • 我们用下面的代码分别存入 yamljson 文件中:
with open("yaml.yml", 'w') as f:yaml.dump(test_data, f, allow_unicode=True)

在这里插入图片描述

with open("json.json", "w") as f:json.dump(test_data, f, ensure_ascii=False)

在这里插入图片描述

  • 很直观可以看到:
    • json 存储的时候采用的是大括号的方式,
    • 不同级别的数据之间没有明显的间隔
    • 同时 json 的 key 都用双引号进行区分。
    • yaml 存储的时候不进行任何的括号,
    • 通过空格来明确区分不同数据之间的层级关系
    • yaml 数据中没有使用双引号来约束 key
    • yaml 的存取速度比 json 要慢,因为 yaml 本身能够比 json 存的数据复杂,所以序列化和反序列化也要更复杂,这导致了存取速度的减慢,所以大规模的数据时还是采用 json 的方式

读取方式

  • yaml 的读取需要指定 Loader 的方式
with open("yaml.yml", 'r') as f:test_ = yaml.load(f, Loader=yaml.FullLoader)

参考文章

yaml和json区别
YAML vs. JSON: 有什么区别?
Python Yaml dump文件时中文显示解决方法

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...