请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

UnicodeDecoderError:‘ascii’codec can't decode byte 0x8b

with open(os.path.join(CIFAR_DIR,"data_batch_1"),"rb")as f:
	data = pickle.load(f)
	print(type(data))
	![图片描述](http://img1.sycdn.imooc.com//szimg/5cb987c60001b87808240530.jpg)
	请问这什么原因?怎解决?

正在回答 回答被采纳积分+3

1回答

正十七 2019-04-21 18:17:04

你用的是python3? 考虑下py3版本的代码:

def load_data(filename):
    """read data from data file."""
    with open(filename, 'rb') as f:
        data = pickle.load(f, encoding='bytes')
        return data[b'data'], data[b'labels']


3 回复 有任何疑惑可以回复我~
  • 能否追问下老师,这里为什么需要用encoding='bytes', 此处相比与python2的代码data['data'],要多加了个b,但是这是为什么??
    回复 有任何疑惑可以回复我~ 2019-11-28 11:53:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信