一、yaml是什么
yaml是专门用来写配置文件的语言,远比json格式方便。
yaml语言的设计目标,就是方便人类读写。
yaml是一种比xml和json更轻的文件格式,也更简单更强大,它可以通过缩进来表示结构,是不是听起来就和python很搭?
顾名思义,用语言编写的文件就可以称之为yaml文件。pyyaml是python的一个专门针对yaml文件操作的模块,使用起来非常简单
安装 pip install pyyaml # 如果是py2,使用 pip install yaml
二、pyyaml的简单使用
使用起来非常简单,就像json、pickle一样,load、dump就足够我们使用了。
load()示例:返回一个对象
import yaml
yaml_str = """
name: 一条大河
age: 1956
job: singer
"""
y = yaml.load(yaml_str, loader=yaml.safeloader)
print(y)
运行结果:
{'name': '一条大河', 'age': 1956, 'job': 'singer'}
load_all()示例:生成一个迭代器
如果string或文件包含几块yaml文档,可以使用yaml.load_all来解析全部的文档。
yaml_test.yaml文件内容:
---
name: qiyu
age: 20岁
---
name: qingqing
age: 19岁
操作yaml文件的test.py文件如下:
import yaml
with open("./yaml_test", 'r', encoding='utf-8') as ymlfile:
cfg = yaml.load_all(ymlfile, loader=yaml.safeloader)
for data in cfg:
print(data)
运行结果:
{'name': 'qiyu', 'age': '20岁'}
{'name': 'qingqing', 'age': '19岁'}
dump()示例:将一个python对象生成为yaml文档
import yaml
json_data = {'name': '一条大河