python - 在内存中压缩 Python 对象

标签 python compression

大多数关于用 Python 压缩文件的教程都涉及立即将该文件写入磁盘,而没有中间的压缩 Python 对象。我想知道如何 pickle 然后压缩内存中的 python 对象,而无需写入或读取磁盘。

最佳答案

我用它来在一个地方节省内存:

import cPickle
import zlib

# Compress:
compressed = zlib.compress(cPickle.dumps(obj))

# Get it back:
obj = cPickle.loads(zlib.decompress(compressed))

如果obj 引用了一些小对象,这可以减少很多内存使用量。由于每个对象的内存开销和内存碎片,Python 中的许多小对象加起来。

关于python - 在内存中压缩 Python 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19500530/

相关文章:

python - 为什么使用属性而不是方法可以显着提高 Python 速度

python - 如何在json中转储压缩字符串?

python - AWS SAM : Unable to unmarshal input

python - 使用 matplotlib 显示高度为零的条形图

python - 在Python中管道合并多个pandas数据帧

java - 解压缩 BZIP2 存档

c - 用c打开rar文件

c++ - zip 文件可以是稀疏的/不连续的吗?

compression - LZ4匹配搜索算法(快速扫描)

python - Django 迁移抛出 1072 - 表中不存在键列 'car_make_id'