Python Yaml 写入中文乱码的问题

送分小仙女□ 提交于 2020-04-27 14:10:04

 

 

 

问题背景:

  在执行测试用例,将测结果回写到yaml文件时,出现中文全都是Unicode编码的问题。

如下:

test.yaml文件内容

Data:
  name: "中国"
  cityName: "上海"
  areaName: "闵行区"

 

读写代码如下

# FileName : writeYaml.py
# Author   : Adil
# DateTime : 2020/4/26 6:37 PM
# SoftWare : PyCharm

import yaml



yamlFile = 'test.yaml'

f = open(yamlFile,'r',encoding='utf-8')

cont = f.read()

r = yaml.safe_load(cont)
print(r)


f.close()


fw = open(yamlFile,'a',encoding='utf-8')

w = r

yaml.dump(w,fw)

fw.close()

 

执行代码如下

 

 

执行后yaml 文件内容变更为

 

 

 

解决办法

加入参数 

allow_unicode=True
fw = open(yamlFile,'a',encoding='utf-8')

w = r

yaml.dump(w,fw,allow_unicode=True)


fw.close()

 

执行结果

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!