常用第三方库 yaml
YAML
- 一种数据序列化格式
- 用于人类的可读性和与脚本语言的交互
- 一种被认为可以超越XML、JSON的配置文件
YAML 基本语法规则
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用 Tab 键,只允许使用空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
-
#表示注释,从这个字符一直到行尾,都会被解析器忽略
YAML 支持的数据结构
- 对象:键值对的集合,用冒号 “:” 表示
- 数组:一组按次序排列的值,前加 “-”
- 纯量:单个的、不可再分的值
** 字符串
** 布尔值
** 整数
** 浮点数
** Null
** 时间
** 日期
PyYAML
创建 yaml 文件
import yaml
# 定义 python 对象
data = {
"client": {"default-character-set": "utf8"},
"mysql": {"user": "root", "password": 123456},
"custon": {
"user1": {"user": "张三", "password": 123456},
"user2": {"user": "李四", "password": "a123456"}
}
}
# 将 python 对象转为 yaml 文档
with open('./my.yaml', 'w', encoding='utf-8') as f:
# allow_unicode,为True时,中文不会乱码
yaml.dump(data, f,allow_unicode=True)
读取 yaml 文件
# 读取 yaml 文件
with open('./my.yaml','r',encoding='utf-8') as ff:
datas = yaml.safe_load(ff)
print(datas)
print(type(datas)) # 结果是: dict