首页 > 编程语言 > 详细

Python yaml文件中文读取写入

时间:2020-01-06 10:55:46      阅读:704      评论:0      收藏:0      [点我收藏+]

先看yaml文件写入,代码如下:

import yaml
import os

curpath = os.path.dirname(os.path.realpath(__file__))  # 获取文件当前路径
yamlpath = os.path.join(curpath, "data.yaml")  # 获取yaml文件地址
f = open(yamlpath,‘r‘,encoding=‘utf-8‘)
d = yaml.load(f,Loader=yaml.FullLoader)
print(d) # 读取yaml文件
data = {name: 测试} # 需要传入的数据 with open(yamlpath, w, encoding=utf-8) as f: yaml_obj = yaml.dump(data, f)

运行后,查看yaml文件

技术分享图片

中文字符被转码

with open(yamlpath, w, encoding=utf-8) as f:
    yaml_obj = yaml.dump(data, f, allow_unicode=True)

添加allow_unicode=True,再次运行

技术分享图片

 中文保存成功。

查看源码

技术分享图片

 发现dump_all方法在处理数据,查看dump_all源码,可以看到里面可以设置各种条件

技术分享图片

with open(yamlpath, w, encoding=utf-8) as f:
    yaml_obj = yaml.dump(data, f,allow_unicode=True,sort_keys=False)

比如设置sort_keys=False,写入yaml的数据则不会排序后写入,如果要追加写入,读取方式改成‘a’就可以了

读取写入操作详解https://www.cnblogs.com/klb561/p/9326677.html

Python yaml文件中文读取写入

原文:https://www.cnblogs.com/jescs/p/12155022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!