Python - 使用cPickle加载先前保存的pickle占用太多内存?

0 投票
2 回答
830 浏览
提问于 2025-04-16 01:39

Python - 使用cPickle加载之前保存的pickle文件占用的内存太多了?

我的pickle文件大约有340MB,但加载后却占用了6GB内存的29%。这看起来有点多。这个pickle文件是一个字典里面嵌套了字典。这这样做合适吗?
使用的代码:

import cPickle as pickle

file = pickle.load( file_handle )

谢谢

2 个回答

1

我一直在处理大数据时遇到内存问题,尤其是处理大字典和子字典。所以我最后选择用pprint这个工具把我的对象写入文件,然后再通过一个自定义的模块加载器把这些文件导入回来,这样就能在需要的时候获取数据。这样做效果很好,而且不会浪费内存。

0

1.7GB听起来有点多,但也不是不可能。在数据被“腌制”(也就是被处理成一种特定格式)之前,它占用了多少内存呢?

在把数据“腌制”之后,解开它(也就是把它恢复成原来的样子)所占的内存应该和它被“腌制”之前差不多。数据在硬盘上占多大空间其实不是特别重要。

撰写回答