pickle.load()读取文件错误

今天在读取.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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨小嗨yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值