日常学习之:Yaml 和 Json 有什么区别

news2024/9/22 17:21:27

安装

  • 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文件时中文显示解决方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ALE的基本介绍、使用与配置

本文将介绍ale插件的基本使用与配置,将从linter的介绍到具体插件的使用与bug的修复~ 本文仅仅时抛砖引玉,更多的使用技巧与功能可以查看项目介绍 ALE的基本介绍、使用与配置ale的介绍ale的基本配置与使用查看你可用的linter安装iverilog——for windowal…

Redisson之lock()和tryLock()的区别

Redisson之lock()和tryLock()的区别和原理解析 在Redisson中 lock() 方法 与 tryLock() 方法是有区别的! 我们先来阐述两者的区别,再分析它们的源码。 lock() 与 tryLock() 的区别 (1)返回值: lock() 是没有返回值…

Vue中的diff算法深度解析

模板tamplate经过parse,optimize,generate等一些列操作之后,把AST转为render function code进而生成虚拟VNode,模板编译阶段基本已经完成了,那么这一章,我们来探讨一下Vue中的一个算法策略–dom diff 首先来介绍下什么…

Java8 遍历List 使用stream().parallel()并发安全

1. parallelStream是什么: java 8引入了并行流的概念来进行并行处理,而并行流(Parallel Stream)利用所有可用CPU内核的优势,并行处理任务。其原理(Parallel Stream)是可以把大任务分成多个小任务执行, 最后再把执行结果进行合并, ForkJoinPoo…

数仓DWS层之旁路缓存优化

优化原因: 外部数据源的查询常常是流式计算的性能瓶颈。以本程序为例,每次查询都要连接 Hbase,数据传输需要做序列化、反序列化,还有网络传输,严重影响时效性。可以通过旁路缓存对查询进行优化。 旁路缓存模式是一种非…

利用Python海龟绘图画一个世界杯的足球

利用Python海龟绘图画一个世界杯的足球 花有重开日 人无再少年 四年一次的世界杯快要结束,为了纪念此次世界杯,特意用Python画了一个足球。 1.设计思路以及实现效果 世界杯足球实现思路: 首先使用海龟画一个圆形作为足球的外边框。然后在足…

3天带你走向实战!阿里顶配版Spring全家桶面试进阶笔记有多强?

Spring框架自从诞生以来就一直备受开发者青睐,它涵盖了Spring、Springboot、SpringCloud等诸多解决方案,一般我们都会统称为Spring全家桶!出于Spring框架在Java开发者心中中的统治地位,所以不管是面试还是工作,Spring都…

夜神模拟器+fiddler抓包(抓取APPhttps请求,删除sll证书校验)

1.安装fiddler https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe (下载不了直接去官网找) 2.配置 开启https请求抓取,不抓https可忽略2.修改或查看端口(使用默认8888端口,要自定义端口可修改&#…

Arduino 定时器中断

Arduino 定时器中断 Circuits Arduino 查看原文 简介:Arduino 定时器中断 奥雷里(地球、月亮和太阳) 立式兰花播种机 胶合板书柜扬声器 计时器中断允许您以非常特定的时间间隔执行任务,而不管代码中发生了什么其他事情。我…

Unity ILRuntime Debugger使用及常见问题

目录前言1.安装2.使用3.常见问题前言 ILRuntime支持在VS中断点调试,下面说一下ILRuntime Debugger的使用及常见问题。 1.安装 需要下载对应版本的ILRuntime Debugger VS插件。我是在Unity中PackageManager安装的ILRuntime,可以在插件信息中查看版本。…

记SQL插入emoji成功,但是程序插入失败问题

在执行单测时,碰到了以下熟悉的问题 org.springframework.jdbc.UncategorizedSQLException: ### Error updating database. Cause: java.sql.SQLException: Incorrect string value: \xF0\x9F\x92\x8B for column name at row 1 ### The error may involve com.*…

Java入门教程(16)——条件判断语句

文章目录1. if结构1.1 if 单分支结构1.2 if-else 双分支结构1.3 if-else if-else 多分支结构switch 语句switch 多分支结构1. if结构 1.1 if 单分支结构 语法结构: if(布尔表达式){ 语句块 }实例:掷色子游戏 这里给大家扩展一个Math函数 Math.Random()&#xff0c…

动态规划算法

1.简介 1.动态规划(Dynamic Programming)算法的核心思想是: 将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法; 2.动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解; 3.与分治法不同…

项目统一规范包管理器

一般来说每个团队都会统一规定项目内只使用一个包管理器,譬如:npm、yarn、pnpm等,我们可以在文档中或者项目根目录REDEM.md中进行描述来形成共识,但毕竟是文档,并不能真正的进行约束,如果有项目成员没有看文…

SpringBoot自动装配原理分析,看完你也能手写一个starter组件

什么是 SpringBoot 2012 年 10 月,一个叫 Mike Youngstrom 的人在 Spring Jira 中创建了一个功能请求,要求在 Spring Framework 中支持无容器 Web 应用程序体系结构,提出了在主容器引导 Spring 容器内配置 Web 容器服务。这件事情对 SpringBo…

Linux 进程间通信

目录 进程间通信的必要性 进程间通信的技术背景 进程间通信的本质理解: 管道IPC:匿名管道 示意图 匿名管道的本质原理: demo示例代码: pipe 系统调用 注意: 管道读写的4种情况: 管道的特点&…

H5UI库和二维码

一、H5UI库 1、使用方法: ​ (1)页面中引入css文件 ​ h5ui.css (h5ui.min.css) ​ (2)页面中引入js文件 ​ jquery.min.js ​ h5ui.min.js 2、组件的用法 ​ (1&#xff09…

为您的高速SPI添加强大和可靠的隔离交流

介绍 串行外设接口(SPI)是工业设备中常用于数字处理器核心和外围设备之间通信的一种协议。然而,为了安全使用,有必要对外围设备和核心进行电隔离。虽然隔离和SPI都是成熟的技术,但将两者接口并不像预期的那么简单。 …

SAP ABAP——数据类型(五)【LIKE系列关键字】

💬个人网站:【芒果个人日志】​​​​​​ 💬原文地址:SAP ABAP——数据类型(五)【LIKE系列关键字】 - 芒果个人日志 (wyz-math.cn) 💂作者简介: THUNDER王,一名热爱财税…

【git】简洁实用教程

虽然之前有git的笔记了,但是操作和命令太多,有点冗余,下面整理出最常见的一些场景和git需求。 零、Git速查表 好习惯:每次提交后和开发代码前,都应该pull下 常见命令: git clone拉取服务器代码&#xff0…