今天在读取.pkl文件时出现报错,UnicodeDecodeError: 'ascii' codec can't decode byte 0x8e in position 0: ordinal not in range(128),在网上寻找各种解决办法还是没用解决,最后终于解决这个错误,先附上错误的代码
import pickle
with open("data\\squeeze_net\\model.pkl",'rb') as f:
content = pickle.load(f)
print(content)
网上给出了各种解决办法都不能进行改正吗,终于找到一种解决办法说是load的时候加上encoding=''bytes'',即
import pickle
with open("data\\squeeze_net\\model.pkl",'rb') as f:
content = pickle.load(f,encoding='bytes')
print(content)
这种方法确实可以将.pkl的数据读取出来,但是读取出来的文件有前缀''b'',在索引的时候不能正常索引,如果只需要读取出文件中的内容这种方法是可以的,但是如果需要对读出来的内容进行索引,这种方法并不可以。
接下来给出另一种方法
import pickle
with open("data\\squeeze_net\\model.pkl",'rb') as f:
content = pickle.load(f,encoding='iso-8859-1')
print(content)
即改变编码方式即可,建议直接采用这种方法
TensorFlow 超级好课推荐
扫码下单输优惠码【csdnfxzs】再减5元,比官网还便宜!
https://marketing.csdn.net/poster/92?utm_source=NEWFXDT


966

被折叠的 条评论
为什么被折叠?



