win10+python3遇到UnicodeDecodeError: 'ascii' codec can't decode byte 0x89

   今天从git上下载了一个代码,本想运行一下,结果在加载mnist的时候一直提示UnicodeDecodeError: 'ascii' codec can't decode byte 0x89。

提示错误的代码段为:

with open(f,'rb') as f:

       data = pickle.load(f)

百度谷歌了很久(几乎半天)都没有找到解决的办法,后来看到一个网友说python2和python3的编码方式不一样,考虑到tensorflow没有win+python2版本,我把代码放在服务器下运行(python2+ubuntu+tensorflow)果然就没有错(哭了)。但是实验室的服务器无法加载可视化界面,无法运行程序中的绘图代码段,于是我又开始不停地找python3对应的解决办法,终于在一个博主那里找到了正确答案!!

即:将pickle.load(f)

改为:pickle.load(f,encoding='bytes')

这次的错误一定要记录下来,太深刻了,也希望后面遇到这个错误的人能搜索到解决办法,不要浪费时间!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值