1. 简介
- 一种数据序列化格式
- 用于人类的可读性和与脚本语言的交互
- 一种被认为可以超越 XML、JSON 的配置文件
2. YAML 基本语法规则
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用 Tab 键,只允许使用空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
#
表示注释,从这个字符一直到行尾,都会被解析器忽略
3. YAML 支持的数据结构
- 对象:键值对的集合,用冒号 “:” 表示
- 数组:一组按次序排列的值,前加 “-”
- 纯量:单个的、不可再分的值
languages:
- PHP
- Java
- Python
book:
Python入门:
price: 55.5
author: Lily
available: True
repertory: 20
date: 2018-02-17
Java入门:
price: 60
author: Lily
available: False
repertory: Null
date: 2018-05-11
4. PyYAML
4.1 创建 yaml 文件
import yaml
data = {
"client": {"default-character-set": "utf8"},
"mysql": {"user": 'root', "password": 123},
"custom": {
"user1": {"user": "张三", "pwd": 666},
"user2": {"user": "李四", "pwd": 999},
}
}
with open('./my.yaml', 'w', encoding='utf-8') as f:
yaml.dump(data, f, allow_unicode=True)
4.2 读取 yaml 文件
import yaml
file_path = './my.yaml'
with open(file_path, 'r', encoding='utf-8') as f:
data = yaml.safe_load(f)
print(data)