我有一个大的zip文件,其中包含许多文件,我想将其分块解压缩,以避免占用太多内存。在
我试图使用python模块zipfile
,但我没有找到一种方法来按块加载归档文件并将其提取到磁盘上。在
在python中有没有简单的方法可以做到这一点?在
编辑
@steven rumbalski正确地指出zipfile
正确地处理大文件,方法是逐个解压缩文件,而不加载完整的归档文件。在
我的问题是我的zip文件在aws3上,我的EC2实例无法在RAM中加载这么大的文件,所以我分块下载,我想按块解压缩。在
Tags:
您可以使用zipfile(或者可能是tarfile),如下所示:
您不需要一种特殊的方法来将大型归档文件提取到磁盘。源文件Lib/zipfile.py显示{}已经具有内存效率。创建
zipfile.ZipFile
对象不会将整个文件读入内存。相反,它只是读取ZIP文件的目录。ZipFile.extractall()
使用shutil.copyfileobj()
从io.BufferedIOBase
的子类复制,一次提取一个文件。在如果您只想进行一次性提取,则Python将从命令行提供快捷方式:
相关问题 更多 >
编程相关推荐