解决python3读取Python2存储的pickle文件问题

生命价值不在于获取多少,生命价值在于付出多少。有钱的人更有钱,这往往是一种必然。

我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时候就会报如下的错误。

import pickle
picklefile=open('2ohsumed_wmd_d.pk','rb')
data=pickle.load(picklefile)
 
print (data)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 11: ordinal not in range(128)

解决办法:

import pickle
picklefile=open('2ohsumed_wmd_d.pk','rb')
data=pickle.load(picklefile,encoding='iso-8859-1')
 
print (data)

以上这篇解决python3读取Python2存储的pickle文件问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
python数据持久存储 pickle模块的基本使用方法解析

python pickle存储、读取大数据量列表、字典数据的方法

Python使用Pickle模块进行数据保存和读取的讲解

python3.6使用pickle序列化class的方法

python中cPickle类使用方法详解