python3.x 中文输入到文件中乱码

出现了与本文中相同的错误,完美解决了问题,记录一下。

【背景】: 我搭建了一个django的项目,想将项目运行过程中的日志输出到文件中,但是django本身提供的日志模块我还不会用,所以打算自己写一个

【问题】:直接用print语句在控制台输出中文木有问题,但是一旦保存到文件中就乱码了

开始我是这样写的

# coding:utf-8
a = "测试"
open("log.txt","w").write(a)

发现输出的到文件中显示乱码:

����

【原因】: python3默认是Unicode编码,如果字符保存到文件中显示中文,需要做一次解码

【解决方案】:

# coding:utf-8
a = "测试"
print(a)
# open("log.txt","w").write(a)
open("log.txt","wb").write(a.encode("utf-8"))

中文能正常在文件中显示:

测试

猜你喜欢

转载自blog.csdn.net/sinat_30106697/article/details/81080144
今日推荐