日常办公摸鱼小技巧,利用Python对文件进行批量压缩和解压

文章介绍了如何使用Python的zipfile,tarfile,rarfile和py7zr模块来处理zip,tar.gz,rar和7z格式的文件,包括压缩和解压操作。尽管rarfile不支持压缩rar文件,但提供了unrar功能,而7z文件的处理则需要py7zr库。文章提供了相关代码示例,并鼓励读者实践操作。
摘要由CSDN通过智能技术生成

正摸鱼开心着呢,快下班了行政小姐姐突然发过来一堆文件让我帮忙处理下,在经过小姐姐长达五分钟的撒娇后,我迫不得已才答应帮她做一下~
在这里插入图片描述
这不是小问题吗,用Python分分钟就能实现文件的压缩和解压~当然批量改名字、批量创建等等都不是问题,今天主要给大家展示一下Python压缩文件和解压。

好了不多哔哔,我们开始今天的正文~ 通常我们用的压缩文件格式有:

  1. rar:Windows 环境下用的比较多的压缩,比较著名的GUI工具是winrar tar: Linux系统下的打包工具,只打包,不压缩;
  2. gz:即gzip,通常只能压缩一个文件。与tar结合起来就可以实现先打包,再压缩;
  3. tgz:即gz。先用tar打包,然后再用gz压缩得到的文件;
  4. zip:不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于tar;
  5. 7z:7zip压缩软件支持的格式,压缩效率较高;

当然除了使用Python外,你还可以选择使用压缩解压缩软件或命令手动进行处理。

zip文件

zipfile是Python里用来做zip格式编码的压缩和解压缩的module,zipfile里有两个非常重要的class:ZipFile和ZipInfo。ZipFile是主要的类,用来创建和读取zip文件,而ZipInfo是存储的zip文件的每个文件的信息。

示例代码:
image.png
tar.gz文件
tarfile 模块可以用来读写 tar 归档,包括使用 gzip, bz2 和 lzma 压缩的归档。在使用tarfile是必须了解模式:

mode 必须是 ‘filemode[:compression]’ 形式的字符串,其默认值为 ‘r’。 以下是模式组合的完整列表:

模式 动作
image.png
针对特殊的目的,还存在第二种 mode 格式: ‘filemode|[compression]’。 tarfile.open() 将返回一个将其数据作为数据块流来处理的 TarFile 对象:

模式 动作
1
代码示例:
image.png
rar文件

我们可以使用rarfile来解压.rar的文件,但是不支持用rarfile来压缩rar文件。
rarfile以下unrar组件,但是使用pip install unrar安装后发现会报如下错误:

Couldn’t find path to unrar library…

这是因为 Python下的 unrar 还依赖了RAR官方的库。

Windows的安装

Linux的安装


代码示例:

7z文件

要压缩和解压缩.7z文件需要用到py7zr组件。代码示例:

兄弟们,快去试试吧,冲冲冲!

零基础Python学习资源介绍

👉Python学习路线汇总👈

温馨提示:篇幅有限,已打包文件夹获取方式在:点击这里【 Python全套资料】 或者扫一扫即可获取。


image.png

 

👉Python必备开发工具👈

image.png

温馨提示:篇幅有限,已打包文件夹获取方式在:点击这里【 Python全套资料】 或者扫一扫即可获取。

 

👉Python学习视频600合集👈

image.png
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

image.png

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈检查学习结果。

image.png

👉面试刷题👈

image.png

温馨提示:篇幅有限,已打包文件夹获取方式在:点击这里【 Python全套资料】 即可获取。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值