2013-06-27 36 views
-1

我知道这可能是一个非常简单的问题,但我对python很陌生,而且我很难搞清楚init。我需要一段时间来创建这个我需要使用的字典,而且我不想在每次运行代码时创建它。我被告知你可以以某种方式将它解压缩到你的代码中,但我不知道。任何帮助将非常感谢谢谢!创建一个可以在python中用__init__重用的字典

+1

请提供一个例子。 –

+0

任何“解压缩”的方法都涉及到创建它。 –

回答

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的字典和您的数据!

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')) 
1

这听起来像你想要的是pickle

第一次创建字典后,或在数据发生显着变化时摘取字典。检查__init__顶部的pickle文件是否存在,然后在剩下的时间取消它。

相关问题