Python3中json读写中文乱码的问题怎么处理
Admin 2022-06-27 群英技术资讯 976 次浏览
这篇文章主要介绍“Python3中json读写中文乱码的问题怎么处理”,有一些人在Python3中json读写中文乱码的问题怎么处理的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。python3 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下
import json
data1 = {
"TestId": "testcase001",
"Method": "post",
"Title": "登录测试",
"Desc": "登录基准测试",
"Url": "http://xxx.xxx.xxx.xx",
"InputArg": {
"username": "王小丫",
"passwd": "123456",
},
"Result": {
"errorno": "0"
}
}
with open('casedate.json', 'w', encoding='utf-8') as f:
json.dump(data1, f, sort_keys=True, indent=4)
在打开文件的时候要加上encoding=‘utf-8',不然会显示成乱码,如下:
{
"Desc": "��¼������",
"InputArg": {
"passwd": "123456",
"username": "��СѾ"
},
"Method": "post",
"Result": {
"errorno": "0"
},
"TestId": "testcase001",
"Title": "��¼����",
"Url": "http://xxx.xxx.xxx.xx"
}
在dump的时候也加上ensure_ascii=False,不然会变成ascii码写到文件中,如下:
{
"Desc": "\u767b\u5f55\u57fa\u51c6\u6d4b\u8bd5",
"InputArg": {
"passwd": "123456",
"username": "\u738b\u5c0f\u4e2b"
},
"Method": "post",
"Result": {
"errorno": "0"
},
"TestId": "testcase001",
"Title": "\u767b\u5f55\u6d4b\u8bd5",
"Url": "http://xxx.xxx.xxx.xx"
}
另外python3在向txt文件写中文的时候也要注意在打开的时候加上encoding=‘utf-8',不然也是乱码,如下:
with open('result.txt', 'a+', encoding='utf-8') as rst:
rst.write('return data')
rst.write('|')
for x in r.items():
rst.write(x[0])
rst.write(':')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python文本进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
python中的not和is none有何不同?很多新手刚解决python时,对于not和is none的用法区别不是很了解,对此,这篇文章就主要给大家介绍一下python中的not和is none。
这篇文章主要为大家介绍了python目标检测数据增强的代码参数解读及应用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要介绍了python基于concurrent模块实现多线程,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
先选中要注释的段落,然后按下“ctrl+/”,即可实现多行代码的注释。||跟注释单行一样在每一行前面输入“shift+#”。||输入‘‘‘ ’’’或者“““ ”””,将要注释的代码插在中间,也可实现注释多行代码的效果。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008