小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。
复习回顾
关于对数据进行序列化和反序列化操作,Python不仅提供内置库还有支持第三方库
Python 内置库
- 使用二进制协议对数据进行序列和反序列化操作-pickle模块
- 对数据进行转换成JSON格式和反序列化操作-json模块
- 使用类似字典键值对数据进行序列和反序列化操作-shelve模块
- 对命令窗口的命令及选项进行解析操作-argparse模块
Python 第三方库
- 第三方库,是json模块的升级版对无用字符进行优化-messagepack模块
- Yaml配置文件数据的序列与反序列操作-yaml模块
本期,我们继续学习行业里流行的yaml模块相关方法的学习和使用,Let’s go~
- yaml 简介
yaml 是一种专门专门用于配置文件或者存储数据的语言,其文件以.yaml结尾
yaml 特点
- yaml 语言具有易读性易写性
- yaml 可用于描述型的数据结构如脚本
- yaml 适用在不同程序间的数据交换
- yaml 可扩展性强,不受平台和语言限制
yaml安装方法:
1 | python复制代码pip install pyyaml |
yaml模块导入:
1 | python复制代码import yaml |
- yaml 常用语法
yaml 文档由一个或多个文档组成,文档间区分如下
- 每个文档开头使用:
---
。如果是单个文档,可省略 - 每个文档结束使用:
...
。可选项
yaml 支持的数据结构有三种
- 纯量:字符串、布尔值、整数、Null、时间、日期
- 数组:list
- 键值表:字典
yaml 使用 & 和 * 引用
1 | yaml复制代码name: &name Juejin |
yaml 使用 !!
进行强制转换类型
1 | yaml复制代码String: !!str 3.14 |
PS:更多关于yaml语法的yaml官方文档
- yaml 常用方法
yaml 与其他序列化模块json、pickle一样,同样具有dump、load方法
方法 | 说明 |
---|---|
yaml.dump(obj,fp) | 将Python对象转换并输入到yaml文档 |
yaml.dump_all(obj,fp) | 将多个Python对象输入到yaml文档 |
yaml.load() | 将yaml文件转换成Python对象 |
yaml.load_all() | 将多段yaml语句转换成Python对象 |
- yaml Vs json
yaml和json都是数据序列化语言.
- yamls不是标记语言,强调以数据作为重心
- Json 是js对象标记,一种轻量级的数据交换格式
1 | json复制代码{ |
以上是JSON格式的,我们来看一下yaml转换效果
1 | yaml复制代码# yaml |
yaml 和 Json 使用场景划分
- json 比较适合网络请求返回的数据
- yaml 比较适合数据存放读取,常用于在自动化测试导入数据中
PS:我们在进行调试时可以,可以使用在线转换工具
- 小试牛刀
我们来对前面的yaml数据,使用python进行解析操作
1 | python复制代码import yaml |
总结
本期,我们学习 yaml 模块方法简单使用
以上是本期内容,欢迎大佬们点赞评论指正,下次见~ღ( ´・ᴗ・` )比心🌹🌹🌹🌹🌹✈️
本文转载自: 掘金