解决‘ascii‘ codec can‘t decode byte 0xe8 in position 0: ordinal not in range(128)
一、问题解决这个报错是一个编码问题,我在网络上看到是版本的问题,但是我尝试了一下对于我的问题都没有解决,后来发现我只要在代码中加入一句encoding='iso-8859-1' 就可以了,也就是将我的原代码:import pickle as pkf = gzip.open('data.pkl.gz', 'rb')# x = pk.load(open('data.pkl.gz', 'rb'))X_t
·
一、问题解决
这个报错是一个编码问题,我在网络上看到是版本的问题,但是我尝试了一下对于我的问题都没有解决,后来发现我只要在代码中加入一句 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 -*-
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献16条内容
所有评论(0)