在python3中加载.npy文件时返回的函数

在python3中加载.npy文件时返回的函数,python,numpy,python-3.4,Python,Numpy,Python 3.4,我已将dict存储为diversity.npy。dict结构:{key:array}。 当我使用np.load加载diversity.npy时: diver=np.load('diversity.npy').item() print(diver) 如果环境是python27,则加载数据是正确的。但是函数对象是在python34中加载的 <function diversity at 0x7fc0741977b8> 如何修复?这里有一个保存在Py3.5中的简单字典 In [157

我已将dict存储为diversity.npy。dict结构:{key:array}。 当我使用np.load加载diversity.npy时:

diver=np.load('diversity.npy').item()
print(diver)
如果环境是python27,则加载数据是正确的。但是函数对象是在python34中加载的

<function diversity at 0x7fc0741977b8>


如何修复?

这里有一个保存在Py3.5中的简单字典

In [157]: dd = {'x':np.array(10)}
In [158]: np.save('dd.npy', dd)
In [159]: data = np.load('dd.npy')
In [160]: data
Out[160]: array({'x': array(10)}, dtype=object)
In [161]: data.item()
Out[161]: {'x': array(10)}
它将字典包装在一个对象数组中,并保存它(使用dictionary pickle)
item()
将字典从数组包装器中取出


pickle
在从
py2
py3
之间存在问题,这不是错误。你确定你在Python 3?显示代码中运行了相同的代码:你是如何保存Deffisty.nPycode:NP.Stave:(“多样性”,潜水员)……潜水员是一个DICT……我在两个环境显示中运行了相同的代码,其中包含潜水员变量。因为泡菜格式可能在2.7和3。x之间有所不同,所以你可以考虑存储一个JSON文件。