0

我正在使用 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 手动打开它)。是否有任何其他库可以提高压缩速度(不涉及压缩比)?

4

1 回答 1

1

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

于 2022-01-27T16:42:19.853 回答