我在磁盘上大小约780兆字节(在磁盘上)腌制的字典。但是,当我将该字典加载到内存中时,其大小意外膨胀到大约6千兆字节。无论如何还要在内存中保留实际文件大小的大小(我的意思是,如果它在内存中需要大约1个演出,但是6个演出是一种奇怪的行为)。 pickle模块有问题,还是应该以其他格式保存字典?从磁盘加载的Python字典在内存中占用太多空间
这里是我正在加载文件:
import pickle
with open('py_dict.pickle', 'rb') as file:
py_dict = pickle.load(file)
任何想法,帮助,将不胜感激。
我可以推荐使用'sqlite3'而不是Python字典来存储这些数据吗? –
这可能是相关的:http://www.shocksolution.com/2010/01/storing-large-numpy-arrays-on-disk-python-pickle-vs-hdf5adsf/ – dano
这是一个类似的问题,可能有帮助http://stackoverflow.com/questions/23261598/cpickle-load-in-python-consumes-a-large-memory – Akavall