当尝试进行中文输出的时候,基本打印出来的情况都是乱码,这个时候应该怎么解决?
网上非常多版本的解决方法都是老旧没有更新,大家尝试过后相信都会报这样一个错误:
TypeError: __init__() got an unexpected keyword argument ‘encoding'
这个原因就是在 python3 中,json.dumps() 中压根就没有 encoding 这个参数
下面是它的 API doc,可以看下:
json.dumps(obj, *, skipkeys=False, ensure_ascii=True,
check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
解决方法:
1- python2 版本:利用json.dumps进行转换
import json
s = '你好啊'
print(json.dumps(s, encoding='UTF-8', ensure_ascii=False))
2- python3 版本:直接在写入文件的是否加上encoding这个参数
with open('filename.json', 'w', encoding="utf-8") as f:
f.write(json.dumps(dicts, ensure_ascii=False))
上面的dicts就是你要写入的内容。
转自: https://blog.csdn.net/weixin_43509263/article/details/90203694