通过python在内存中对bytes数据进行压缩和解压

场景描述

在数据采集获取到数据后,就要考虑数据存储问题。

最近碰到一个比较有特点的网站,网站的背景图片是直接返回了base64编码展示在源码中,一个页面原始数据保存下来达到了近2M。因为项目要求,需要大量采集并存储,所以尝试对采集到的信息先在内存中进行压缩后存储。

压缩、解压源码

import io
import gzip

class InMemoryCompressor:
    def __init__(self):
        pass
    
    def compress(self,buff:bytes):


        buffer = io.BytesIO()
        with gzip.GzipFile(fileobj=buffer, mode='w') as gz_file:
            gz_file.write(buff)

        compressed_data = buffer.getvalue()
        return compressed_data

    def decompress(self, compressed_data: bytes):
        decompressed_buffer = io.BytesIO(compressed_data)
        with gzip.GzipFile(fileobj=decompressed_buffer, mode='r') as gz_file:
            decompressed_text = gz_file.read()

        return decompressed_text
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值