“对于线路..."导致 UnicodeDecodeError: 'utf-8' codec can't decode byte [英] "for line in..." results in UnicodeDecodeError: 'utf-8' codec can't decode byte
问题描述
这是我的代码,
for line in open('u.item'):
# Read each line
每当我运行此代码时,它都会出现以下错误:
Whenever I run this code it gives the following error:
UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 2892 中的字节 0xe9:连续字节无效
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 2892: invalid continuation byte
我试图解决这个问题并在 open() 中添加了一个额外的参数.代码如下:
I tried to solve this and add an extra parameter in open(). The code looks like:
for line in open('u.item', encoding='utf-8'):
# Read each line
但它再次给出了同样的错误.那我该怎么办?
But again it gives the same error. What should I do then?
推荐答案
As Mark Ransom 建议,我找到了解决该问题的正确编码.编码为 "ISO-8859-1"
,因此将 open("u.item", encoding="utf-8")
替换为 open('u.item', encoding = "ISO-8859-1";)
将解决问题.
As suggested by Mark Ransom, I found the right encoding for that problem. The encoding was "ISO-8859-1"
, so replacing open("u.item", encoding="utf-8")
with open('u.item', encoding = "ISO-8859-1")
will solve the problem.
这篇关于“对于线路..."导致 UnicodeDecodeError: 'utf-8' codec can't decode byte的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!