2012-08-17 70 views
2

我有一個生成大型python字典的python腳本(腳本1)。該字典必須由另一個腳本(腳本2)讀取。 任何人都可以建議我寫出由腳本1生成的Python字典並由腳本2讀取的最佳方式。 在過去,我使用cPickle來編寫和閱讀這樣的大型字典。 有沒有一種方法可以做到這一點?在文件中存儲大型Python字典的最佳方法

+4

別稱 「大辭典」 是一個 「數據庫」。 – georg 2012-08-17 06:31:50

回答

7

shelve將使您能夠分別訪問每個項目,而不是要求您每次序列化和反序列化整個字典。

+1

只要所有的鑰匙都是琴絃,擱架很棒 – 2012-08-17 05:49:50

+0

@John La Rooy。如果鑰匙是字符串呢? – 2016-01-28 17:59:44

4

如果你希望你的字典可以被不同類型的腳本讀取(即不只是Python),JSON也是一個不錯的選擇。

它不像shelve那麼快,但它易於使用,並且對人眼來說非常易讀。


import json 
with open("/tmp/test.json", "w") as out_handle: 
    json.dump(my_dict, out_handle) # save dictionary 

with open("/tmp/test.json", "r") as in_handle: 
    my_dict = json.load(in_handle) # load dictionary 
相關問題