对文件进行解压缩是我们日常工作中最平常不过的行为了,压缩过的文件不仅可以节省磁盘空间,而且在网络传输中也可以节省不少时间。

Python为我们提供了zipfile模块,这使得我们可以十分方便地对文件进行解压缩操作,而且代码书写也十分简单:

对文件进行压缩:

from zipfile import ZipFile
import osdef get_all_file_paths(directory):file_paths = []# 把所有的文件夹以及子文件夹、以及文件全部搞出来for root, directories, files in os.walk(directory):for filename in files:# 得到完全路径filepath = os.path.join(root, filename)file_paths.append(filepath)return file_pathsdef main():directory = './Junit'file_paths = get_all_file_paths(directory)print('Following files will be zipped:')for file_name in file_paths:print(file_name)with ZipFile('my_python_files.zip', 'w') as zip:for file in file_paths:zip.write(file)print('All files zipped successfully!')if __name__ == "__main__":main()

输出:

Following files will be zipped:
./Junit\hamcrest-core-1.3.jar
./Junit\junit-4.11-javadoc.jar
./Junit\junit-4.11-sources.jar
./Junit\junit-4.11.jar
./Junit\junit-4.7.jar
All files zipped successfully!

不过这个算法的压缩率貌似不是很高,至少在这个文件上跟360比还是差100KB。

对压缩文件进行解压:

from zipfile import ZipFilefile_name = "Junit 4.11.zip"with ZipFile(file_name, 'r') as zip:# printing all the contents of the zip filezip.printdir()print('Extracting all the files now...')zip.extractall()print('Done!')

输出:

File Name                                             Modified             Size
Junit/                                         2013-04-22 20:51:10            0
Junit/hamcrest-core-1.3.jar                    2013-04-22 19:04:48        45024
Junit/junit-4.11-javadoc.jar                   2013-04-22 19:04:00       379344
Junit/junit-4.11-sources.jar                   2013-04-22 19:03:42       151329
Junit/junit-4.11.jar                           2013-04-22 19:03:32       245039
Junit/junit-4.7.jar                            2013-04-22 19:04:00       232354
Extracting all the files now...
Done!

利用Python对文件进行解压缩相关推荐

  1. asp.net利用RAR实现文件压缩解压缩【月儿原创】

    asp.net利用RAR实现文件压缩解压缩 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.6.13 如果服务器上安装了RAR程 ...

  2. python数据对比找不同_利用Python读取文件的四种不同方法比对

    利用Python读取文件的四种不同方法比对 大家都知道Python 读文件的方式多种多样,但是当需要读取一个大文件的时候,不同的读取方式会有不一样的效果.下面就来看看详细的介绍吧. 场景 逐行读取一个 ...

  3. 利用python将文件夹中子文件夹中的图片数目大于小于指定的数目分类

    利用python将文件夹中子文件夹中的图片数目大于小于指定的数目分类 find ./ -name ".DS_Store" -depth -exec rm {} \;  Mac 删除 ...

  4. python通过内置的什么函数打开一个文件_利用python进行文件操作

    这篇文章主要介绍了如何利用python进行文件操作,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非 ...

  5. 极速系列07—利用python将文件夹快速分类

    我们有一个文件夹,里面嵌套文件夹+文件,我们想将这些文件分类整理清楚,如何快速分类呢? 思路:读取文件夹中的所有文件,按照我们要分类的标准,制定规则(一定要能找到分类的标准,比如按照年份.文件名.文件 ...

  6. python如何对文件进行批量命名-利用Python对文件批量重命名

    由于要用到对无序的文件进行重命名,以下写了一个脚本,进行批量进行重命名. 基本格式是 i.后缀名 (i 循环条件下的数 ) 1 #coding:utf8 2 import os; 3 4 def re ...

  7. 利用Python复制文件的9种方法总结

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  8. python 播放视频 ftp_利用 Python 实现文件自动备份到 ftp 服务器

    前言 接了个特别小的活,要求说定期给文件打包然后上传到备份服务器内,于是整了这么个玩意,记录一下,说不准以后有用 正文 环境:Python 3.7.4 废话少说上码 import os, time, ...

  9. asp.net利用RAR实现文件压缩解压缩(转)

    如果服务器上安装了RAR程序,那么asp.net可以调用RAR实现文件压缩与解压缩. 不过要注意的是,由于Web程序不能直接调用客户端的程序(除非用ActiveX,ActiveX几乎被废弃),所以如果 ...

最新文章

  1. Opencv4.0运行yolov3
  2. 智能交通系统无人机派罚单,人脸成为下一个人牌号,人工智能下谁敢犯规
  3. hashmap 复制_复杂链表的复制
  4. python c 选择_C和Python,小白应该选择学习哪门语言?
  5. 转:教你如何备考PMP
  6. linux永久启动服务命令,Linux(CentOS)用service命令启动任意服务
  7. HackerOne 公布十大漏洞奖励计划“豪门”
  8. 救人无数七个心理寓言
  9. 如何使用pytorch下载MNIST数据集
  10. JVM 自带使用总结
  11. ARM嵌入式系统开发指南-设计和优化系统软件(译作连载)
  12. 计算机中求声音传输时间公式,混响时间常用的几种计算公式
  13. pdf文件太大如何压缩变小一点?
  14. 信息安全领域四大顶会
  15. 经纬财富:乐山稳健投资之道,积小胜为大胜
  16. MOS管的导通过程及损耗分析
  17. 到底谁才能击败星巴克?|【常垒·常识】
  18. Exchange Server 2010邮件撤回条件说明
  19. 利用西瓜播放器(xgplayer)实现直播点播
  20. OLE技术专题——第一讲:OLE概述

热门文章

  1. iOS 文本二维码识别
  2. 免费使用Camtasia S-tudio录屏剪辑制作视频微课
  3. 基于USB总线的高炮火控计算机测试系统设计
  4. oracle修改数据库表字段
  5. 【实例】Python爬取淘宝图片
  6. 家里宽带628连不上_宽带连接连接不上怎么办
  7. 北斗/GNSS高精度数据处理暨GAMIT/GLOBK v10.75软件
  8. javascript中childNodes与children 区别 以及firstChild与firstElementChild区别
  9. 【ArcGIS微课1000例】0035:地图面状符号设计教程
  10. EAN-13 编码原理