使用python解压缩rar、zip文件

1 解压缩rar文件

步骤

(1) 导入 unrar 模块:pip install unrar
(2) 下载 unrar library 并按照默认安装路径安装 下载链接
(3) 编辑环境变量:
用户变量:变量名:x64 变量值:C:\Program Files (x86)\UnrarDLL\x64 (默认路径)
系统变量:变量名:UNRAR_LIB_PATH 变量值:C:\Program Files (x86)\UnrarDLL\x64\UnRAR64.dll (默认路径) (32位系统下的变量值为C:\Program Files (x86)\UnrarDLL\UnRAR.dll)
(4) 安装winrar(360软件库有)
将 winrar 的目录下的 unrar.exe 复制到 Python 路径的 Scripts 文件夹下
(5) 重启pycharm

代码

import rarfile
pathRar = ''    # rar文件路径
outputDir = ''  # 指定输出的文件夹路径
z = rarfile.RarFile(pathRar)
z.extractall(outputDir)
z.close()
os.remove(pathRar)

2 解压缩zip文件

解码

使用zipfile的extract()或extractall()方法直接解压时,文件名可能会出现乱码。

代码

import zipfile
# 出现乱码时解码
def recode(raw: str) -> str:try:return raw.encode('cp437').decode('gbk')except:return raw.encode('utf-8').decode('utf-8')zipFile = zipfile.ZipFile(pathZip)          # 压缩包路径
zipFileList = zipFile.namelist()            # 获取压缩包里所有文件
for f in zipFileList:zipFile.extract(f, obj)                 # 循环解压文件到指定目录name1 = os.path.join(obj, f)            # 乱码文件名name2 = os.path.join(obj, recode(f))    # 解码后文件名os.rename(name1, name2)                 # 文件重命名
zipFile.close()                             # 关闭文件释放内存
os.remove(pathZip)

参考文档:
https://blog.csdn.net/m0_46172703/article/details/122963919?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166726793316782417053165%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166726793316782417053165&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-2-122963919-null-null.142v62control,201v3control_2,213v1t3_esquery_v2&utm_term=python%E8%A7%A3%E5%8E%8Brar%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187

https://blog.csdn.net/m0_68103885/article/details/124609932

使用python解压缩rar、zip文件相关推荐

  1. python怎么解压rar文件_用Python解压缩rar、zip文件的方法

    玩蛇网本文为大家提供关于用Python解压缩rar.zip文件的方法源码.Python语言对文件方面的处理还是很方便的,例如以前有为大家介绍过Python读取分割压缩TXT文本文件的方法.Python ...

  2. python解压zip文件_python怎样压缩和解压缩ZIP文件(转)

    有时我们需要在 Python 中使用 zip 文件,而在1.6版中,Python 就已经提供了 zipfile 模块可以进行这样的操作.不过 Python 中的 zipfile 模块不能处理多卷的情况 ...

  3. Python 暴力破解zip文件密码(相对简单的密码)

               Python 暴力破解zip文件密码(相对简单的密码) 密码的使用范围很广,首先,我们要明确密码的作用,其次要明白密码的类型. 密码的作用是进行权限的限制,判断用户的合法性,(不 ...

  4. vb.net 解压缩(文件/文件夹解压缩,zip文件浏览,单文件解压,分卷压缩)

    vb.net 解压缩(文件/文件夹解压缩,zip文件浏览,单文件解压,分卷压缩) DLL:Ionic.Zip.dll 说明: 1.解压/压缩 显示加密进度及总进度. 2.zip文件打开,浏览内部文件. ...

  5. 解压 rar,zip 文件保存到本地

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.导入依赖 二.功能代码 三.测试结果 解压前 解压后 总结 参考博客1 参考博客2 参考博客3(此方法未使用) 前 ...

  6. Python解压zip文件出现TypeError: pwd: expected bytes, got str的解决方案

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  7. [Python] 读取 rar/zip 压缩文件

    一. 读取 rar 文件 Python 中 python-unrar 模块依赖于 UnRAR library, 所以需要先安装 UnRAR library 1. 安装 UnRAR library 在官 ...

  8. python 解压zip文件_Python 解压缩文件详解

    zipfile模块及相关方法介绍: 1 压缩 1.1 创建zipfile对象 zipfile.ZipFile(file, mode='r', compression=0, allowZip64=Tru ...

  9. C# 客户端rar/zip文件解压缩

    说明: (1)下载winrar.exe,安装到指定路径,例如:D:\WINRAR,之后把安装的文件夹(D:\WINRAR)拷贝到应用程序根目录: (2)具体方法如下(注意方法中的路径): /// &l ...

最新文章

  1. 深入理解JavaScript系列(3):全面解析Module模式
  2. 03-树3 Tree Traversals Again (c++递归实现)
  3. mysql日期条件如何应用_MySQL如何使用时间作为判断条件
  4. Vue第一部分(6):Vue的生命周期
  5. 【clickhouse】clickhouse 副本与分片 副本详解
  6. LocalDatetime与Date、timestamp互相转化
  7. Eclipse 模板使用
  8. EditPlus3.3 集成 SVN
  9. 新宝资讯上证涨跌比:1131:649
  10. 【Linux】解决Centos软件安装源出错
  11. 安防市场视频监控比重大 并有新商机
  12. 什么是IP65?仅仅是防水等级吗?看完本文直呼666!
  13. vue3 Component inside <Transition> renders non-element root node that cannot be animated.
  14. python中用于释放类占用的资源的方法是()_mooc大学英语词汇期末答案
  15. UDP与IP的不可靠程度是否相同
  16. Mobaxterm连接虚拟机中Linux
  17. 我胡汉三又回来了!也许是杨白劳吧。。。。。。
  18. 网众无盘服务器WINDOWS,网众无盘windows任务站的工作原理
  19. 负载均衡原理及LVS-NAT的部署
  20. 时序约束优先级_VIVADO之时序约束

热门文章

  1. 传奇GOM引擎-GEE引擎版本如何添加GM账号刷装备
  2. 利用动态二进制加密实现新型一句话木马之Java篇(转) 冰蝎
  3. 想再考一个教师资格证,相同的科目需要重考笔试吗?
  4. 不想被“监控”了?教你一招摆脱广告追踪
  5. pytorch报错“RuntimeError: DataLoader worker (pid 83709) is killed by signal: Bus error. It is .......“
  6. 谷歌浏览器如何重置?谷歌浏览器恢复默认设置?
  7. 七、手写实现决策树算法
  8. android中录音断点播放,Android实现暂停--继续录音(AudioRecord)
  9. 计算机右键无法新建excel2007,右键无法新建Excel
  10. MATLAB 复杂网络蓄意攻击代码