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)
相关推荐
2506_918846543 分钟前
Solana账户创建与Rust实践全攻略
开发语言·后端·rust
ALex_zry5 分钟前
Golang分布式系统开发实践指南
开发语言·后端·golang
go54631584656 分钟前
基于Python的自动化视频编辑脚本设计,能够处理视频剪辑、添加字幕、文本动画、音效和图形等功能
python·自动化·音视频
沐知全栈开发7 分钟前
Go 语言切片(Slice)
开发语言
unicrom_深圳市由你创科技26 分钟前
C#与 Prism 框架:构建模块化的 WPF 应用程序
开发语言·c#·wpf
_extraordinary_29 分钟前
Java 内部类
java·开发语言
huazeci38 分钟前
PHP生成pdf方法
开发语言·pdf·php
程序员的世界你不懂1 小时前
Appium+python自动化(七)- 认识Appium- 上
python·appium·自动化
赵大仁1 小时前
Next.js 15 与 Apollo Client 的现代集成及性能优化
开发语言·javascript·性能优化
钢铁男儿1 小时前
C#核心概念解析:析构函数、readonly与this关键字
开发语言·javascript·c#