Python:读写yaml
简介:YAML是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。基本语法:在Python中程序中的配置文件会
·
简介:YAML是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。
基本语法:在Python中程序中的配置文件会经常使用yaml。
大小写敏感
使用缩进表示层级关系
缩进不允许使用tab,只允许空格
缩进的空格数不重要,只要相同层级的元素左对齐即可
'#'表示注释
安装:
pip install pyyaml
写入范例:
特殊说明1:allow_unicode=True,解决存储时unicode编码问题。
特殊说明2:sort_keys=False,解决写入yaml的数据则不会排序后写入。
# -*-coding:utf-8 -*-
import yaml
file = "a.yaml"
with open(file, "w", encoding='utf-8')as f:
data = {
"name": "Tom",
"age": 25,
"hobby": ["Singing", "dancing", "rap", "basketball"],
"game": {
"ps5": ["最终幻想", "地平线:禁忌西部"],
"switch": ["动森", "塞尔达传说"],
}
}
# allow_unicode=True,解决存储时unicode编码问题。
# sort_keys=False,解决写入yaml的数据则不会排序后写入。
f.write(yaml.dump(data, allow_unicode=True, sort_keys=False))
执行写入结果:
读取范例:
# -*-coding:utf-8 -*-
import yaml
file = "a.yaml"
# 方式一
with open(file, encoding='utf-8')as f:
data = yaml.load(f, Loader=yaml.FullLoader)
print(data)
print(type(data)) # dict 类型。
print("*" * 80)
# 方式二
with open(file, encoding='utf-8')as f:
data2 = f.read()
print(data2)
print(type(data2)) # str 类型。
读取执行结果:
微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!
更多推荐
已为社区贡献21条内容
所有评论(0)