要用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
函数来开始解压。