一、问题解决
这个报错是一个编码问题,我在网络上看到是版本的问题,但是我尝试了一下对于我的问题都没有解决,后来发现我只要在代码中加入一句 encoding='iso-8859-1' 就可以了,也就是将我的
原代码:
import pickle as pk
f = gzip.open('data.pkl.gz', 'rb')
# x = pk.load(open('data.pkl.gz', 'rb'))
X_train,y_train = pk.load(f)
f.close()
print(X_train)
改为:
import pickle as pk
f = gzip.open('data.pkl.gz', 'rb')
# x = pk.load(open('data.pkl.gz', 'rb'), encoding='bytes')
X_train,y_train = pk.load(f,encoding='iso-8859-1')
f.close()
print(X_train)
二、其他解决方案:
1.加入代码段
在python不同版本有比较不同的解决方法,不过都是在开头加上一些代码。如果电脑已经正确配置过环境,在控制台直接输入“python”可以查看版本

python2.x
import sys
reload(sys)
sys.setdefaultencoding('utf8')
≤python3.3
import imp
imp.reload(sys)
≥python3.4
import importlib
importlib.reload(sys)
2.开头加入
在开头加入
# -*- coding: utf-8 -*-
本文解决了在使用Python的pickle模块加载gzipped数据文件时遇到的编码错误问题,通过设置正确的编码参数,如'iso-8859-1',成功避免了因版本不兼容导致的数据读取错误。此外,还提供了不同Python版本下处理编码问题的通用解决方案。
4162





