YAML 是一种人类可读的数据序列化语言,常用于以简洁的形式存储配置信息。它最初代表 Yet Another Markup Language,后来改为 YAML Ain't Markup Language,强调其并非标记语言。
核心特点
- 简洁易读:相比 JSON 和 XML,去除了大量引号、括号等格式噪音;
- 非编程语言:仅用于数据描述,不具备逻辑执行能力;
- 缩进敏感:层级关系通过空格缩进表示,类似 Python;
- 区分大小写:键名和值对大小写严格敏感;
- 禁用 Tab:必须使用空格进行缩进,Tab 会导致解析错误。
语法对比(与 JSON)
YAML 文件后缀通常为 .yaml 或 .yml。以下是常见数据类型在两种格式中的表现:
| 数据类型 | YAML 语法示例 | JSON 语法示例 |
|---|---|---|
| 简单标量 | key: value | {"key": "value"} |
| 数字 | int_key: 123float_key: 123.456 | {"int_key": 123, "float_key": 123.456} |
| 布尔值 | bool_key: true | {"bool_key": true} |
| 字符串 | string_key: "Hello" | {"string_key": "Hello"} |
| 列表 | list_key: - item1 - item2 | {"list_key": ["item1", "item2"]} |
| 映射 | map_key: sub_key: value | {"map_key": {"sub_key": "value"}} |
Python 环境配置
在 Python 中操作 YAML 主要依赖 PyYAML 库。安装命令如下:
pip install PyYAML
安装后可通过 pip list 确认是否成功。
核心操作:读写与清空
1. 追加写入 YAML 文件
向指定文件追加数据,若文件不存在则自动创建。注意路径拼接和编码设置。


