python中使用pickle.load() 时可能会遇到报错。序列化后的数据用二进制保存的。反序列化时ASSII不能解码二进制数据。解决方法:data = pickle.load(f,encoding='bytes')
import pickle
import os
cifar_dir = r"D:MyDemo\file_1"
print(os.listdir(cifar_dir))
with open(os.path.join(file_1, "data_1"), 'rb') as f:
data = pickle.load(f) # 应改为:data = pickle.load(f,encoding='bytes')
print(type(data))
#报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)