在文件中存储大型python字典的最佳方法

时间:2012-08-17 05:10:01

标签: python python-2.7

我有一个生成大型python字典的python脚本(脚本1)。该字典必须由另一个脚本(脚本2)读取。 任何人都可以建议我编写脚本1生成的python字典并由脚本2读取的最佳方法。 在过去,我使用cPickle来编写和阅读如此大的词典。 有没有更好的方法来做到这一点?

2 个答案:

答案 0 :(得分:7)

shelve会让您分别访问每个项目,而不是每次都要求您序列化和反序列化整个词典。

答案 1 :(得分: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