Python解压多种格式压缩包

从效果来看,这个代码会递归解压所有的压缩文件

首先,你需要安装以下库:

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)
相关推荐
code2cat9 分钟前
Java高级篇之JDBC:连接数据库,完成查询、更新与事务
java·开发语言·数据库
hzxxxz17 分钟前
PHP引擎两个高危漏洞复盘:计数顺序与旧地址缺陷的机理与处置清单
开发语言·php
马立杰19 分钟前
PHP 未授权 RCE 应急响应:CVE-2026-109618 CVE-2026-109619 排查与加固实战
android·开发语言·php
布莱克60536 分钟前
C++ 内存泄漏全解析:常见场景、成因与规避实践
开发语言·c++·内存泄露
jimy144 分钟前
lvalue、xvalue、prvalue(一):三者的分类
开发语言·c++
老王IT1 小时前
C#语言基础语法介绍
开发语言·c#
校园安全大脑平台1 小时前
校园安全平台过等保二级,开发阶段要注意什么
开发语言·安全·php
只睡四小时1 小时前
端侧推理:face-api.js 首屏 92% 是白下载的
开发语言·javascript·人脸识别·ecmascript·tensorflow.js·face-api.js·端侧推理
yuzhiboyouye2 小时前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言
HAPPY酷2 小时前
C++ 内存泄漏排查:从裸 new 到 RAII 修复,附 ASan 实战
开发语言·c++