2

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

4

2 回答 2

7

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

于 2012-08-17T05:11:55.397 回答
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
于 2012-08-17T05:25:43.377 回答