当我们在尝试进行中文输出的时候,基本print出来的情况都是乱码,这个时候应该怎么解决?
网上非常多版本的解决方法都是老旧没有更新,大家尝试过后相信都会报这样一个错误:
TypeError: __init__() got an unexpected keyword argument ‘encoding'
没错,这个原因就是在python3中,json.dumps()中压根就没有encoding这个参数!
下面是它的API,我们可以看下:
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就是你要写入的东西。
有问题欢迎添加微信号:cv_huber或扫描关注以下二维码,备注“CSDN”,了解每日AI最新资讯。