我在使用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)参考文献:http://blog.youkuaiyun.com/programmer_wei/article/details/50994318
Python2到Python3序列化兼容
本文介绍了解决从Python2.7序列化的.pk文件在Python3.5环境中读取时出现的UnicodeDecodeError问题的方法。通过指定正确的编码参数,可以成功在不同版本间进行数据的序列化和反序列化。
1567





