反序列化" pickle"文件

时间:2016-08-27 17:56:00

标签: python python-3.x pickle python-unicode

我的代码是:

import _pickle
with open('items_10000_matrix.pickle', 'rb') as f:
    data_new = _pickle.load(f)

但是会发生错误:

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

我正在使用带有VS工具的Windows 10 + python 3.5 for python。

2 个答案:

答案 0 :(得分:0)

尝试使用_pickle.load(f, encoding='bytes')

顺便说一下,在Python 3中,没有理由明确导入_pickle而不是pickle,因为它会自动切换到C版本(如果可用)。请参阅问题What difference between pickle and _pickle in python 3?

的已接受答案

答案 1 :(得分:0)

我被告知使用python 2而不是python 3,它有效。仍然不知道python3的解决方案