gpt4 book ai didi

python - 创建和流式传输大型存档而不将其存储在内存或磁盘上

转载 作者:太空狗 更新时间:2023-10-29 17:14:16 26 4
gpt4 key购买 nike

我想让用户一次下载多个大文件的存档。但是,文件和存档可能太大而无法存储在我服务器的内存或磁盘上(它们是从其他服务器动态流入的)。我想在将存档流式传输给用户时生成存档。

我可以使用 Tar 或 Zip 或任何最简单的工具。我正在使用 django,它允许我在响应中返回生成器或类似文件的对象。这个对象可以用来插入这个过程。但是,我无法弄清楚如何围绕 zipfile 或 tarfile 库构建这类东西,而且我担心它们可能不支持在运行时读取文件,或者在构建存档时读取它。

这个答案在 converting an iterator to a file-like object 上可能有帮助。 tarfile#addfile 采用一个可迭代对象,但它似乎会立即将其传递给 shutil.copyfileobj,因此这可能不像我希望的那样对生成器友好。

最佳答案

我最终使用了 SpiderOak ZipStream .

关于python - 创建和流式传输大型存档而不将其存储在内存或磁盘上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com