【发布时间】:2021-07-24 12:21:39
【问题描述】:
我有一个包含 1 个文件的大 zip 文件。 我想将该文件解压缩到给定目录以进行进一步处理并使用以下代码:
def unzip(zipfile: ZipFile, filename: str, dest: str):
ZipFile.extract(zipfile, filename, dest)
这个函数被调用:
with ZipFile(file_path, "r") as zip_source:
unzip(zip_source, zip_source.infolist()[0], extract_path) # extract path is correctly defined earlier in the code
似乎解压缩一个大文件需要很长时间(文件大小 > 500 Mb),我想优化这个解决方案。
我发现的所有优化都是基于多处理的,以便更快地提取多个文件,但是,我的 zip 仅包含一个文件,因此多处理似乎不是答案。
【问题讨论】:
-
要求软件/库推荐的问题通常过于宽泛,不适合本网站,因为任何答案通常都只是一种意见。
-
我不是在寻找库,而是在寻找优化解决方案(即使是伪代码)
-
您可以控制文件的创建吗?你不能把文件分成多个吗?当然,这将是处理时间(如果您假定使用多处理)会损害存储。此外,您可以将文件提取过程外包给外部程序,例如 7zip。
-
不,这是第三方提供的文件。
标签: python python-3.x optimization zip unzip