温馨提示×

怎么用python递归解压所有文件

小亿
107
2023-10-27 00:50:07
栏目: 编程语言

要用Python递归解压所有文件,你可以使用zipfile模块来操作压缩文件。下面是一个使用递归的示例代码:

import os
import zipfile

def unzip_all_files(directory):
    for item in os.listdir(directory):
        item_path = os.path.join(directory, item)
        if os.path.isfile(item_path) and item.endswith('.zip'):
            # 打开压缩文件
            with zipfile.ZipFile(item_path, 'r') as zip_ref:
                # 解压文件到当前目录
                zip_ref.extractall(directory)
            # 删除压缩文件
            os.remove(item_path)
        elif os.path.isdir(item_path):
            # 递归调用解压函数
            unzip_all_files(item_path)

# 指定要解压的目录
directory_to_unzip = 'path/to/directory'
unzip_all_files(directory_to_unzip)

在上面的代码中,首先定义了一个unzip_all_files函数,该函数接受一个目录路径作为参数。然后,遍历目录中的所有项目,如果是一个压缩文件(以.zip结尾),将其解压到当前目录,并删除原始压缩文件。如果是一个子目录,则递归调用unzip_all_files函数以解压其中的文件。最后,指定要解压缩的目录,并调用unzip_all_files函数来开始解压。

0