【发布时间】:2016-08-27 17:56:00
【问题描述】:
我的代码是:
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)
我正在使用 Windows 10 + python 3.5 和用于 python 的 VS 工具。
【问题讨论】:
-
您说执行
import pickle失败 - 它究竟是如何失败的?你不应该/不需要使用_pickle... -
@NinjaPuppy 对不起,它不再失败了,那只是我以前的操作......
-
@martineau 抱歉,但是:需要一个类似字节的对象,而不是 'str'
-
好的,试试
_pickle.load(f, encoding='bytes')。 -
@Vladislav:pickle 文件唯一真正有用的是存储可以稍后读取的腌制数据。您可以将多个项目存储在一个项目中,但除非它们都在某种容器对象中,例如列表或字典,否则您必须分别解开(加载)每个项目。有关示例,请参阅此answer of mine。
标签: python python-3.x pickle python-unicode