-1

我知道这可能是一个非常简单的问题,但我是 python 新手,我无法弄清楚 init。创建这本我需要使用的字典需要一些时间,而且我不想每次运行代码时都创建它。有人告诉我您可以以某种方式将其解压缩到您的代码中,但我不知道。任何帮助将不胜感激谢谢!

4

3 回答 3

4

我会通过将字典保存到磁盘来做到这一点。使用pickle可以很容易地做到这一点:

import pickle

file = open('dictionary', 'w')
your_dict = {'key':'value', 'key2':'value2'}
pickle.dump(your_dict, file)

就这样!这会将包含两个键值对的字典写入运行脚本的文件夹。我将运行此代码一次以将您的字典保存到您要运行您正在编写的主脚本的文件夹中。要在脚本期间访问它,请使用以下命令:

import pickle

file = open('dictionary')
your_dict = pickle.load('dictionary')

把它放在你的 main() 的顶部 - 或者如果你不使用 main() 就放在你的代码的顶部 - 然后你your_dict每次运行时都会有一个用你的数据调用的字典!

于 2013-06-27T21:05:17.900 回答
1

使用泡菜:

import pickle

try:
    print 'Try loading precomputed hash'
    example = pickle.load(open('hash.precomp', 'rb'))
except:
    print 'Doing long hash calculation'
    example = { 'test1' : 123, 'test2': 234, 'test3': 456}
    pickle.dump(example, open('hash.precomp', 'w'))
于 2013-06-27T21:08:01.303 回答
1

听起来你想要的是pickle

在您第一次创建字典后,或者当您的数据发生显着变化时,对字典进行腌制。检查顶部的泡菜文件是否存在,__init__然后在其余时间取消泡菜。

于 2013-06-27T21:08:55.837 回答