【python】yaml文件的读写
冰冷的希望 2020-10-22 18:31:47 442 收藏 1
分类专栏: python 文章标签: python yaml
版权
python
专栏收录该内容
67 篇文章5 订阅
订阅专栏
我们用到更多的是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
1
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)
1
2
3
4
5
6
7
8
9
10
test.yaml
data1: 123
data2:
k1: v1
k2:
- 4
- 5
- 6
1
2
3
4
5
6
7
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]}}
1
2
3
4
5
6
7
8