使用Python解压zip、rar文件
解压 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文件相关推荐
- python h5s文件 压缩_如何用python解压zip压缩文件
前言:python在办公上非常有用,它可以解压文件,可以处理表格,还可以操作浏览器,只要你能想到的功能,它都能做到,今天笔者就为大家介绍一下如何用处理压缩文件. 打开cmd,输入python3,今天的 ...
- Python解压zip文件出现TypeError: pwd: expected bytes, got str的解决方案
大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...
- fatjar打包mysql_一个简单的解压ZIP Excl文件---gt;按时间读取Excle文件,通过Fat jar打成jar相对应的添加到mysql数据库中。 - 明月 - ITeye博客...
写道 一个简单的解压ZIP Excl文件--->按时间读取Excle文件,通过Fat jar打成jar相对应的添加到mysql数据库中. package common.gaoyang; impo ...
- java util zip.zipexc,JAVA解压zip压缩文件的实例
今天在弄一个东西,需要在PL/SQL中解压zip的压缩包,刚开始的时候是想着直接在PLSQL中调用java,在java里面调用unzip的shell命令来解析压缩文件,但是比较悲剧,一直老是失败,在尝 ...
- Python解压7z压缩文件
Python解压7z压缩文件 可以使用py7zr库: import py7zrarchive = py7zr.SevenZipFile(r'xxx.7z', mode='r')archive.extr ...
- python解压zip文件_python-29 python解压压缩包的几种方法
这里讨论使用Python解压例如以下五种压缩文件: .gz .tar .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. t ...
- python 解压zip 慢_Python解压ZIP、RAR等常用压缩格式的方法
解压大杀器 首先祭出可以应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. pato ...
- Android解压zip rar 7z文件
添加依赖 implementation 'org.apache.commons:commons-compress:1.23.0' implementation 'com.github.junrar:j ...
- java解压/读取rar文件
转自在此感谢作者:https://blog.csdn.net/lbf5210/article/details/51206642 <!-- 解压rar --> <dependency& ...
最新文章
- java编程实践开发项目,帮你突破瓶颈
- 为何jsp 在resin下乱码,但在tomcat下却工作良好的问题
- ARM/THUMB汇编(补丁开发类)基础教程
- 运维前线:一线运维专家的运维方法、技巧与实践导读
- Ajax之跨域访问与JSONP
- Android.mk中的LOCAL_OVERRIDES_PACKAGES
- ServletContextListener的用法
- Selenium+Python自动化测试学习问题总结笔记
- NG-ZORRO 7.0.0 发布,Ant Design 的 Angular 实现
- 手机邮件打开一个html会中木马,小心,QQ邮件中的木马!
- splitcontainer控件删除方法
- AutoRunner 功能自动化测试项目实训之常见问题(十)
- 关于Ubuntu 无法正常关机的问题
- Postgis使用工具raster2pgsql批量导入栅格数据(一)
- 零基础搭建私人影音媒体平台【远程访问Jellyfin播放器】
- 计算机毕业设计 SSM+Vue前台点菜订餐平台系统 餐饮点餐订单管理系统 外卖点餐团购平台管理系统Java Vue MySQL数据库 远程调试 代码讲解
- 将对称分量转换为abc相量
- 有趣的搬砖工 No.2 cout格式化输出
- datagrip 设置查询结果显示行数
- SAP ERP SD模块中维护销售人员