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