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)
相关推荐
重生之我要当java大帝6 分钟前
java微服务-尚医通-编写医院设置接口下
java·开发语言·sql
寻找华年的锦瑟6 分钟前
Qt-QDir
开发语言·qt
明月(Alioo)7 分钟前
机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
python·算法·机器学习
小妖66618 分钟前
vscode 怎么运行 c++ 文件
开发语言·c++
weixin_3077791320 分钟前
在 Microsoft Azure 上部署 ClickHouse 数据仓库:托管服务与自行部署的全面指南
开发语言·数据库·数据仓库·云计算·azure
鱼鱼说测试22 分钟前
Linux下运行Jmeter
开发语言·python
鱼鱼说测试31 分钟前
postman功能接口测试
开发语言·lua
Achou.Wang32 分钟前
源码分析 golang bigcache 高性能无 GC 开销的缓存设计实现
开发语言·缓存·golang
绵羊20231 小时前
R语言绘制热图
开发语言·r语言
小冯记录编程1 小时前
深入解析C++ for循环原理
开发语言·c++·算法