gpt4 book ai didi

python - 在python中按 block 解压缩文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:11 25 4
gpt4 key购买 nike

我有一个很大的 zip 文件,其中包含许多文件,我想将这些文件分块解压缩以避免占用太多内存。

我尝试使用 python 模块 zipfile 但我没有找到一种方法来按 block 加载存档并将其解压缩到磁盘上。

在 python 中有没有简单的方法来做到这一点?

编辑

@steven-rumbalski 正确地指出 zipfile 通过一个接一个地解压缩文件而不加载完整存档来正确处理大文件。

我的问题是我的 zip 文件在 AWS S3 上,而我的 EC2 实例无法在 RAM 中加载这么大的文件,所以我按 block 下载它,我想按 block 解压缩它。

最佳答案

您不需要特殊的方法来将大型存档提取到磁盘。出处Lib/zipfile.py显示 zipfile 已经是内存高效的。创建 zipfile.ZipFile 对象不会将整个文件读入内存。相反,它只是读取 ZIP 文件的目录。 ZipFile.extractall() 使用从 io.BufferedIOBase< 的子类复制的 shutil.copyfileobj() 提取文件一次一个/

如果您想做的只是一次性提取,Python 提供了一个命令行快捷方式:

python -m zipfile -e archive.zip target-dir/

关于python - 在python中按 block 解压缩文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42418071/

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