我有一个Python脚本,它返回一个dict,我想存储在一个更大的项目中使用的地方(脚本运行缓慢,所以我不想只是每次我想要字典时导入脚本) 。
字典很小所以我看到两个选项。我可以:
将dict作为文字写入新的.py文件,如下所示:
my_dict = slow_func()
with open('stored_dict.py', 'w') as py_file:
file_contents = 'stored_dict = ' + str(my_dict)
py_file.write(my_dict)
然后我可以使用from stored_dict import stored_dict
我应该选择其中一种选择吗?
答案 0 :(得分:4)
Python dict的实现方式与json
类似。您可以使用json
模块将dict转储到文件中,然后轻松加载:
d = {1: 'a', 2: 'b', 3: 'c'}
import json
json.dump(d, file(r'C:\temp.txt', 'w'))
new_d = json.load(file(r'C:\temp.txt'))
>>> new_d
{u'1': u'a', u'3': u'c', u'2': u'b'}
答案 1 :(得分:3)
根据我的个人经验,我建议使用JSON:
我建议使用Pickle if:
根据您在问题中触及的情况,JSON将是更有益的选择。