写一个解压套娃压缩包的python脚本
时间: 2024-12-25 10:26:49 浏览: 12
在Python中,你可以使用`zipfile`模块来处理压缩文件,包括解压套娃压缩包(嵌套的ZIP文件)。下面是一个简单的脚本示例,它递归地解压所有嵌套的ZIP文件:
```python
import os
import zipfile
def extract_nested_zip(input_zip, output_dir):
if not os.path.exists(output_dir):
os.makedirs(output_dir)
with zipfile.ZipFile(input_zip, 'r') as zip_ref:
for member in zip_ref.namelist():
path_in_zip = os.path.join(member, '') # 获取内部路径
relative_path = path_in_zip.replace(os.path.dirname(input_zip) + '/', '')
# 如果成员是个文件,提取到目标目录
if not path_in_zip.endswith('/'):
extracted_file = os.path.join(output_dir, relative_path)
zip_ref.extract(member, output_dir)
else: # 如果成员是个子目录,创建并继续递归
extracted_dir = os.path.join(output_dir, relative_path)
if not os.path.exists(extracted_dir):
os.makedirs(extracted_dir)
extract_nested_zip(zip_ref.open(member), extracted_dir)
# 使用函数解压指定的套娃压缩包
input_zip_path = 'path_to_your_nested_zip.zip'
output_directory = 'path_to_extracted_files'
extract_nested_zip(input_zip_path, output_directory)
阅读全文