Python 测开27期 - WL - 学习笔记 - 常用第三方库 yaml

常用第三方库 yaml

YAML

  • 一种数据序列化格式
  • 用于人类的可读性和与脚本语言的交互
  • 一种被认为可以超越XML、JSON的配置文件

YAML 基本语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用 Tab 键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • #表示注释,从这个字符一直到行尾,都会被解析器忽略

YAML 支持的数据结构

  • 对象:键值对的集合,用冒号 “:” 表示
  • 数组:一组按次序排列的值,前加 “-”
  • 纯量:单个的、不可再分的值
    ** 字符串
    ** 布尔值
    ** 整数
    ** 浮点数
    ** Null
    ** 时间
    ** 日期
    image

PyYAML

创建 yaml 文件

import yaml

# 定义 python 对象
data = {
    "client": {"default-character-set": "utf8"},
    "mysql": {"user": "root", "password": 123456},
    "custon": {
        "user1": {"user": "张三", "password": 123456},
        "user2": {"user": "李四", "password": "a123456"}
    }
}
# 将 python 对象转为 yaml 文档
with open('./my.yaml', 'w', encoding='utf-8') as f:
    # allow_unicode,为True时,中文不会乱码
    yaml.dump(data, f,allow_unicode=True)

读取 yaml 文件

image

# 读取 yaml 文件
with open('./my.yaml','r',encoding='utf-8') as ff:
    datas = yaml.safe_load(ff)
print(datas)
print(type(datas)) # 结果是: dict