使用np.load和np.save从磁盘加载后使用数组和字典

时间:2015-02-18 05:56:35

标签: python arrays numpy save load

我有几个巨大的数组,我使用np.save和np.load将每个数组或字典保存在一个文件中然后重新加载它们,以便不再计算它们如下所示。

save(join(dir, "ListTitles.npy"), self.ListTitles)
self.ListTitles = load(join(dir,"ListTitles.npy"))

问题在于,当我尝试之后使用它们时,我会遇到错误(如找不到字段名称)或未确定对象的len()。 例如:

 len(self.ListTitles) or when accessing a field of a dictionary return an error.

我不知道如何解决这个问题。因为当我只使用这个代码时,它完美地运行:

M = array([[1,2,0], [3,4,0], [3,0,1]])
vector = zeros(3529)
save("M.npy", M)
save("vector.npy", vector)
vector = load("vector.npy")
B = load("M.npy")
print len(B)
print len(vector)

1 个答案:

答案 0 :(得分:3)

numpy saveload函数用于numpy数组,不适用于{{1}等常规Python数据}}秒。使用dict模块保存到文件,并从文件重新加载大多数类型的Python数据结构(有pickle之类的替代品,但不在标准库中 - 我建议坚持标准dill,除非它给你特定的问题。)