yaml的特点:
-
不是标记语言
-
对用户极其友好
-
数据序列化标准
-
跨语言
-
所有编程语言都支持
-
跨平台,支持Windows、linux、Mac
-
格式简单,json更简单
-
应用非常广泛
1. 这里推荐使用 ruamel.yaml,因为支持最新版yaml
安装使用:pip install ruamel.yaml
2. 具体用法
yaml转换为Python的 dict 或 list
from ruamel.yaml import YAML
# 创建YAML对象
yaml = YAML(typ='safe')
# typ: 选择解析yaml的方式
# 'rt'/None RoundTripLoader/RoundTripDumper(默认)
# 'safe' SafeLoader/SafeDumper,
# 'unsafe' normal/unsafe Loader/Dumper
# 'base' baseloader
# 读取yaml文件
with open('user_info.yaml', encoding='utf-8') as file:
data = yaml.load(file) # list
将Python 的 dict 或 list 转换成 yaml
from ruamel.yaml import YAML
# 创建YAML对象
yaml = YAML(typ='safe')
# 将Python中的 dict 数据转化为yaml格式的数据
data = {'name': 'test'}
with open('new_user_info.yaml', mode='w', encoding='utf-8') as file:
yaml.dump(data, file)