请问我这段python代码哪里有问题?

f1=open('论语-网络版.txt','r+')
f2=open('论语-提取版.txt','w+')
for l in f1.readlines():

list=[]
for i in l:
if i not in ['\n',' ']:
list.append(i)
if list!=[]:
f2.writelines(''.join(list)+'\n')
f1.close()
f2.close()
每次都报错,报错内容如下:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 4: illegal multibyte sequence

你程序里面有中文,要在开头指定编码格式追问

python3中用的是Unicode编码,不是可以向所有的编码进行兼容吗?而且我头部已经指定了编码


追答

那是读取文件的字符编码问题

把open的那两句改成这样:

open('论语-网络版.txt','r+',encoding='UTF-8')

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-16
修改一下文件编码啊追问

我一开始就指定过了

追答

你读取文件的编码并没有指定

第2个回答  2019-09-16
当然是你的txt文档编码有问题
相似回答