解压 zip 文件

基本解压操作

import zipfile'''
基本格式:zipfile.ZipFile(filename[,mode[,compression[,allowZip64]]])
mode:可选 r,w,a 代表不同的打开文件的方式;r 只读;w 重写;a 添加
compression:指出这个 zipfile 用什么压缩方法,默认是 ZIP_STORED,另一种选择是 ZIP_DEFLATED;
allowZip64:bool型变量,当设置为True时可以创建大于 2G 的 zip 文件,默认值 True;'''
zip_file = zipfile.ZipFile(path)
zip_list = zip_file.namelist() # 得到压缩包里所有文件for f in zip_list:zip_file.extract(f, folder_abs) # 循环解压文件到指定目录zip_file.close() # 关闭文件,必须有,释放内存

其他方法

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
zipfile.is_zipfile('xxx.zip') # 判断文件是否是个有效的zipfile
zipfile.namelist('xxx.zip') # 列表,存储zip文件中所有子文件的path(相对于zip文件包而言的)
zipfile.infolist('xxx.zip') # 列表,存储每个zip文件中子文件的ZipInfo对象
zipfile.printdir() # 打印输出zip文件的目录结构,包括每个文件的path,修改时间和大小
zipfile.open(name[,mode[,pwd]]) # 获取一个子文件的文件对象,可以对其进行read,readline,write等操作
zipfile.setpassword(psw),为zip文件设置默认密码
zipfile.testzip() # 读取zip中的所有文件,验证他们的CRC校验和。返回第一个损坏文件的名称,如果所有文件都是完整的就返回None
zipfile.write(filename[,arcname[,compression_type]]) # 将zip外的文件filename写入到名为arcname的子文件中(当然arcname也是带有相对zip包的路径的),打开方式为w或a
zipfile.extract(member, path=None, pwd=None) # 解压一个zip中的文件,path为解压存储路径,pwd为密码
zipfile.extractall(path[,pwd]) # 解压zip中的所有文件,path为解压存储路径,pwd为密码

解压 rar 文件

Python 本身不支持 rar 文件的解压,需要先安装相关依赖才可使用

  • 安装 unrar 模块:pip install unrar
  • 下载安装 unrar library,网址:http://www.rarlab.com/rar/UnRARDLL.exe 按照默认安装路径安装
  • 将安装后文件夹中的 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)
  • 将 winrar 的目录下的 unrar.exe 复制到 Python 路径的 Scripts 文件夹下
  • 重启PyCharm

基本操作

rf = rarfile.RarFile(_rarfile, mode='r') # mode的值只能为'r'
rf_list = rf.namelist() # 得到压缩包里所有的文件
print('rar文件内容', rf_list)for f in rf_list:rf.extract(f, folder_abs)  # 循环解压,将文件解压到指定路径# 一次性解压所有文件到指定目录
# rf.extractall(path) # 不传path,默认为当前目录

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

  1. python h5s文件 压缩_如何用python解压zip压缩文件

    前言:python在办公上非常有用,它可以解压文件,可以处理表格,还可以操作浏览器,只要你能想到的功能,它都能做到,今天笔者就为大家介绍一下如何用处理压缩文件. 打开cmd,输入python3,今天的 ...

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

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

  3. fatjar打包mysql_一个简单的解压ZIP Excl文件---gt;按时间读取Excle文件,通过Fat jar打成jar相对应的添加到mysql数据库中。 - 明月 - ITeye博客...

    写道 一个简单的解压ZIP Excl文件--->按时间读取Excle文件,通过Fat jar打成jar相对应的添加到mysql数据库中. package common.gaoyang; impo ...

  4. java util zip.zipexc,JAVA解压zip压缩文件的实例

    今天在弄一个东西,需要在PL/SQL中解压zip的压缩包,刚开始的时候是想着直接在PLSQL中调用java,在java里面调用unzip的shell命令来解析压缩文件,但是比较悲剧,一直老是失败,在尝 ...

  5. Python解压7z压缩文件

    Python解压7z压缩文件 可以使用py7zr库: import py7zrarchive = py7zr.SevenZipFile(r'xxx.7z', mode='r')archive.extr ...

  6. python解压zip文件_python-29 python解压压缩包的几种方法

    这里讨论使用Python解压例如以下五种压缩文件: .gz .tar .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. t ...

  7. python 解压zip 慢_Python解压ZIP、RAR等常用压缩格式的方法

    解压大杀器 首先祭出可以应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. pato ...

  8. Android解压zip rar 7z文件

    添加依赖 implementation 'org.apache.commons:commons-compress:1.23.0' implementation 'com.github.junrar:j ...

  9. java解压/读取rar文件

    转自在此感谢作者:https://blog.csdn.net/lbf5210/article/details/51206642 <!-- 解压rar --> <dependency& ...

最新文章

  1. java编程实践开发项目,帮你突破瓶颈
  2. 为何jsp 在resin下乱码,但在tomcat下却工作良好的问题
  3. ARM/THUMB汇编(补丁开发类)基础教程
  4. 运维前线:一线运维专家的运维方法、技巧与实践导读
  5. Ajax之跨域访问与JSONP
  6. Android.mk中的LOCAL_OVERRIDES_PACKAGES
  7. ServletContextListener的用法
  8. Selenium+Python自动化测试学习问题总结笔记
  9. NG-ZORRO 7.0.0 发布,Ant Design 的 Angular 实现
  10. 手机邮件打开一个html会中木马,小心,QQ邮件中的木马!
  11. splitcontainer控件删除方法
  12. AutoRunner 功能自动化测试项目实训之常见问题(十)
  13. 关于Ubuntu 无法正常关机的问题
  14. Postgis使用工具raster2pgsql批量导入栅格数据(一)
  15. 零基础搭建私人影音媒体平台【远程访问Jellyfin播放器】
  16. 计算机毕业设计 SSM+Vue前台点菜订餐平台系统 餐饮点餐订单管理系统 外卖点餐团购平台管理系统Java Vue MySQL数据库 远程调试 代码讲解
  17. 将对称分量转换为abc相量
  18. 有趣的搬砖工 No.2 cout格式化输出
  19. datagrip 设置查询结果显示行数
  20. SAP ERP SD模块中维护销售人员

热门文章

  1. JAVA 基础 (一)
  2. WOLF ISP CCIE 方向优惠最后10天,价格低至13800!!
  3. 如何将SP1集成到Office 2007安装包
  4. pe估值 python_Python编程学习笔记(8)
  5. python中remove用法_Python 列表 remove() 使用方法及示例
  6. java heap space 解决方法_Java静态方法/变量,非静态方法/变量的区别,今天一并帮你解决
  7. 【收藏】SAP记账码
  8. 浅谈MES与SAP PP模块的集成应用
  9. SAP成本会计分录大全
  10. 计划策略-11-毛需求计划