2017-03-03 57 views
0

我已将dict存储为diversity.npy。字典结构:{key:array}。 当我使用np.load加载diversity.npy:在python3中加载.npy文件时返回的函数

diver=np.load('diversity.npy').item() 
print(diver) 

如果环境python27,它是正确的加载数据。然而函数对象是在python34中加载的。

<function diversity at 0x7fc0741977b8> 

如何解决?

+0

这不是一个错误。你确定你在Python3中运行相同的代码吗? –

+0

显示代码你是如何保存diversity.npy –

+0

的代码:np.save('diversity',diver).....潜水员是一个字典......我在两个环境中运行相同的代码 – xingxinghanzi

回答

0

下面是一个简单的字典保存在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)} 

它包裹的对象阵列中的字典,并保存该(使用字典泡菜)。 item()将字典从数组包装器中取出。

pickle存在从py2过渡到py3的问题。