python代码,将文件夹下所有.7z压缩包解压缩后文件夹内文件提取到同一文件夹下,解压缩后删除原压缩包,如遇到无法解压缩文件跳过解锁下一个,保留原文件压缩包
时间: 2024-09-14 17:14:23 浏览: 51
你可以使用Python的`shutil`, `os`, 和 `zipfile` 库来完成这个任务。下面是一个基本的脚本示例,它会遍历指定文件夹下的所有`.7z`压缩包,并尝试逐个解压它们。如果遇到无法解压的文件,它会跳过并继续处理下一个:
```python
import os
import shutil
import zipfile
# 定义待操作的目录
folder_path = "your_folder_path" # 替换为你需要解压缩的文件夹路径
# 遍历文件夹及其内容
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".7z"):
# 解压缩文件路径
zip_file = os.path.join(root, file)
try:
# 创建目标解压目录
extract_dir = os.path.join(os.path.dirname(zip_file), "extracted_files")
if not os.path.exists(extract_dir):
os.makedirs(extract_dir)
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
# 解压文件到新目录
zip_ref.extractall(extract_dir)
# 删除原始压缩包
os.remove(zip_file)
except zipfile.BadZipFile:
print(f"{zip_file} cannot be unzipped, skipping...")
except Exception as e:
print(f"Error occurred while processing {zip_file}: {str(e)}")
print("All .7z files have been processed.")
阅读全文