YAML
Leonhardt 2022-04-01 About 1 min
# 是什么
一种非常适合写配置文件的文件格式。和python一样,对缩进非常敏感。
# 怎么用
# 安装pyyaml
pip install pyyaml
# YAML语法简介
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
#
表示注释key: value
表示对象键值对, 冒号后面要加一个空格。可用缩进表示层级关系- 以
-
开头的行表示构成一个数组。可以使用行内表示[a, b, c, ...]
- 使用~表示null
- 布尔值:TRUE/True/true/yes都行
- 可以使用科学计数法(1e+5), 二进制表示(0b0001_0001)
- 特殊字符需要加引号
# python读写
import yaml
import json
# 读取
with open('config.yml', 'r') as f:
# 使用safe_laod而非load。因为load不安全。
yobj = yaml.safe_load(f) # yobj为python字典对象
# 写入
with open('c.yaml', 'w') as file:
yaml.dump(yobj, file)
# 转为json
with open('c.json', 'w') as file:
json.dump(yobj, file)
# python字典<=>json字符串
json_str = json.dumps(yobj)
jobj = json.loads(json_str) # jobj为python字典对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 多YAML文档
YAML支持一个文件中定义多个文档。只需要用---
将多个文档分开即可。python读取这样的文件时,会返回一个字典数组,每个字典对应一个文档。