python

在Python中如何递归解压zip文件

小樊
81
2024-12-07 13:42:40
栏目: 编程语言

在Python中,您可以使用zipfile库来递归解压ZIP文件

import zipfile
import os

def extract_zip(file_path, extract_to):
    with zipfile.ZipFile(file_path, 'r') as zip_ref:
        # 递归解压所有子zip文件
        for file in zip_ref.namelist():
            if file.endswith('.zip'):
                sub_zip_path = os.path.join(extract_to, file)
                extract_zip(sub_zip_path, extract_to)
                # 删除已解压的子zip文件
                os.remove(sub_zip_path)
            else:
                zip_ref.extract(file, extract_to)

# 使用示例
zip_file_path = 'path/to/your/zip/file.zip'
destination_folder = 'path/to/your/destination/folder'
extract_zip(zip_file_path, destination_folder)

这个函数首先检查ZIP文件中是否有子ZIP文件。如果有,它会递归地解压这些子ZIP文件,然后将它们从目标文件夹中删除。如果文件不是ZIP文件,它将被直接解压到目标文件夹。

0
看了该问题的人还看了