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

安装

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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值