从效果来看,这个代码会递归解压所有的压缩文件
首先,你需要安装以下库:
pip install patool pyunpack rarfile py7zr
注意:对于RAR文件,你还需要系统上安装有unrar工具https://blog.csdn.net/CN_Polaris/article/details/128637569?fromshare=blogdetail&sharetype=blogdetail&sharerId=128637569&sharerefer=PC&sharesource=weixin_45592677&sharefrom=from_link
代码
python
import os
from pyunpack import Archive
def extract_to_same_directory(archive_path):
"""
解压各种格式的压缩包到压缩文件所在目录
参数:
archive_path (str): 压缩包文件路径
支持格式: zip, rar, 7z, tar, gz, bz2 等
"""
try:
# 获取压缩文件所在目录
archive_dir = os.path.dirname(archive_path)
# 使用pyunpack解压(支持多种格式)
Archive(archive_path).extractall(archive_dir,auto_create_dir=True)
except Exception as e:
print(f"解压失败: {str(e)}")
# 使用示例
if __name__ == "__main__":
import sys
archive_path = 'D:\\temp\新文件\机构-法律法规.zip'
if not os.path.isfile(archive_path):
print(f"错误: 文件 '{archive_path}' 不存在")
sys.exit(1)
extract_to_same_directory(archive_path)