这个错误真的困扰了我大学4年,每次都百度解决,这里做个记录
首先要有这三行,保证你后面输出不报错
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
然后打开文件的时候:
with open('in_the_name_of_people.txt','r',encoding='utf8') as f:
contents = []
lines = f.readlines()
for line in lines:
print(line)
ok!
--------------------------------------------------------------------------------------------------------
没想到时隔多年出来工作后还会再来更新这篇文章。。
还有另外一个问题,有时候python3 open文件的时候就报错unicodeencodeerror,说utf8无法decode某个字符,这时候用rb打开,并且decode时制定ignore参数即可
with open(log,'rb') as f:
while True:
line = f.readline()
line = line.decode('utf8','ignore')