代码改变世界

UnicodeDecodeError: 'gbk' codec can't decode byte 0xe9 in position 7581: illegal multibyte sequence

2020-02-14 00:06  默默不语  阅读(1148)  评论(0编辑  收藏  举报

pyhon读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xe9 in position 7581: illegal multibyte sequence

代码如下:

#获取电影列表
def getMovieList(item):
    items={}
    f=open(item,"r")
    # 此句报错
    movie_content=f.readlines()
    f.close()
    for movie in movie_content:
        movieLine=movie.split("|")
        items[int(movieLine[0])]=movieLine[1:]
    return items

这是Unicode编码不一致导致的,将f=open(item,"r")改为f=open(item,"r",encoding = 'ISO-8859-1')。

问题解决!!

在遇到这个问题时,不一定要改为'ISO-8859-1',unicode编码很多,一种不行可以多尝试几种。

Unicode编码有以下几种常见类型:

  gbk
  gb2312
  gb18030
  utf-8
  utf-16
  utf-32
  ISO-8859-1