我们用到更多的是json格式的读写,但是有时候需要用到yaml格式,故进行记录
1.YAML
YAML(发音/ˈjæməl/)是一个可读性高,用来表达数据序列化的格式,使用它可以简单表达列表、字典、标量等资料形式
1.1 语法规则
1)大小写敏感 2)使用缩进表示层级关系 3)缩进时不允许使用tab键,只允许使用空格 4)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
1.2 支持的数据结构
1)字典: 键值对的集合 2)数组: 一组按照次序排列的值, 又称序列(sequence)、列表 3)纯量: 单个的、不可再分的值, 包括 字符串、布尔值、整数、浮点数、null、日期
2.读写操作
2.1 先安装PyYAML
pip3 install
-U PyYAML
2.2 写(从dict转yaml)
data
= {
"data1": 123,
"data2": {
"k1": "v1",
"k2": [4, 5, 6]
}
}
with open("test.yaml", "w", encoding
="utf8") as f
:
yaml
.dump
(data
, f
, allow_unicode
=True)
test.yaml
data1: 123
data2:
k1: v1
k2:
- 4
- 5
- 6
2.3 读(从yaml转dict)
import yaml
with open("test.yaml", "r", encoding
="utf-8") as f
:
data
= yaml
.load
(f
, Loader
=yaml
.FullLoader
)
print(data
)
打印输出
{'data1': 123, 'data2': {'k1': 'v1', 'k2': [4, 5, 6]}}