2017-03-03 41 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的問題。