Python - 压缩数据的库比 ZipFile 更快

Python - faster library to compress data than ZipFile

我正在使用 django 3.0.7 作为框架在 Python 3.9 中开发 Web 应用程序。在 Python 中,我正在创建一个函数,该函数可以将字典转换为 json,然后使用 ZipFile 库将其转换为 zip 文件。目前这是正在使用的代码:

def zip_dict(data: dict) -> bytes:
    with io.BytesIO() as archive:
        unzipped = bytes(json.dumps(data), "utf-8")
        with zipfile.ZipFile(archive, mode="w", compression=zipfile.ZIP_DEFLATED) as zipFile:
            zipFile.writestr(zinfo_or_arcname="data", data=unzipped)
        return archive.getvalue()

然后我将 zip 文件保存在 Azure Blob 存储中。它可以工作,但问题是这个功能对我来说有点慢。我尝试使用 zlib 库,但性能没有改变,而且创建的 zip 文件似乎已损坏(我什至无法使用 WinRAR 手动打开它)。有没有其他库可以提高压缩速度(不影响压缩率)?

尝试在 zipfile.ZipFile() 对象创建中添加 compresslevel=3compresslevel=1 参数,看看是否能提供更令人满意的速度和足够的压缩。