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)
相关推荐
站大爷IP20 分钟前
Python文件操作的"保险箱":with语句深度实战指南
python
运器12326 分钟前
【一起来学AI大模型】算法核心:数组/哈希表/树/排序/动态规划(LeetCode精练)
开发语言·人工智能·python·算法·ai·散列表·ai编程
whoarethenext42 分钟前
使用 C++ 实现 MFCC 特征提取与说话人识别系统
开发语言·c++·语音识别·mfcc
ITfeib1 小时前
Flutter
开发语言·javascript·flutter
想躺平的咸鱼干1 小时前
Volatile解决指令重排和单例模式
java·开发语言·单例模式·线程·并发编程
Owen_Q2 小时前
Denso Create Programming Contest 2025(AtCoder Beginner Contest 413)
开发语言·算法·职场和发展
·云扬·2 小时前
【Java源码阅读系列37】深度解读Java BufferedReader 源码
java·开发语言
liulilittle3 小时前
C++ i386/AMD64平台汇编指令对齐长度获取实现
c语言·开发语言·汇编·c++
巴里巴气3 小时前
selenium基础知识 和 模拟登录selenium版本
爬虫·python·selenium·爬虫模拟登录
19893 小时前
【零基础学AI】第26讲:循环神经网络(RNN)与LSTM - 文本生成
人工智能·python·rnn·神经网络·机器学习·tensorflow·lstm