Python压缩文件夹时如何优化内存占用并提升性能?
问题:Python压缩文件夹时降低内存占用并提升性能?
在使用Python压缩包含多个文件的文件夹时,有没有办法降低内存占用?因为处理大文件时内存消耗过高。如果同时能提升压缩性能就更好了。
原实现代码:
import os import zipfile import errno def zip_folder( zip_source_directory_target, source_folder_to_zip_path, zip_file_name, logger: Logger, compresslevel=6, ): """ do compression on a folder """ if os.path.exists(source_folder_to_zip_path) and os.path.exists( zip_source_directory_target ): full_zip_directory = os.path.join(zip_source_directory_target, zip_file_name) with zipfile.ZipFile( full_zip_directory, "w", compression=zipfile.ZIP_DEFLATED, compresslevel=compresslevel, ) as zipf: with os.scandir(source_folder_to_zip_path) as entries: for entry in entries: if entry.is_file(): arcname = os.path.relpath(entry.path, source_folder_to_zip_path) zipf.write(entry.path, arcname=arcname) else: logger.warn(f"Zip source path: {zip_source_directory_target}") raise FileNotFoundError( errno.ENOENT, os.strerror(errno.ENOENT), f"Data folder path or zip source path may not exist please check", )
编辑补充:感谢Mark Adler,上述解决方案可行。第二次出现的问题是由于Docker版本导致的docker stats内存检测错误。
内容的提问来源于Stack Exchange,提问作者idan ovadia
相关产品推荐
相关产品推荐

