2012-08-17 96 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 
相关问题