转自:http://blog.csdn.net/linux__kernel/article/details/8271326linux
不少人在Google上不停的找合适本身的压缩,却不知Py的压缩很不错。能够试试。固然C#,Java的压缩也有第三方的类。Py有不少美名:数学理论强大,数据结构高级等等,关于压缩算法固然用Py更加简单易用,达到目的才是最重要的。算法
Python压缩ZIP文件:数据结构
import zipfile f = zipfile.ZipFile(target,'w',zipfile.ZIP_DEFLATED) f.write(filename,file_url) f.close()
其中target:是压缩后要保存的路径,能够是: 'C:\\temp\\'
ZIP_DEFLATED:表示压缩,还有一个参数:ZIP_STORE:表示只打包,不压缩。这个Linux中的gz跟tar格式有点相似.
write方法若是只有一个参数filename的话,表示把你filename所带的路径所有压缩到zip文件中。若是带两个参数,表示把filename路径中的那个file压缩一下而且存放到file_url中,中间没有增长任何的文件夹。
若是要压缩不少的文件,循环的write就ok了
最后close掉。
Python解压ZIP文件:架构
f = zipfile.ZipFile("zipfilePath",'r') for file in f.namelist(): f.extract(file,"temp/")
zipfilePath是压缩文件的路径
循环访问该压缩文件中的文件,而且一个一个file的解压到对应的"temp\"文件夹中
--------------------------------------------------------------------------------------------------------------
为何我会用Python来进行解压缩呢,首先对于一个技术的取向,要看技术的擅长处,很显然若是你想用Python架构一个大型的Web,有点不可取,有人会跟我争,谁说的呀,Django不是很好的架构嘛,那Django是你写出来的吗?你的架构思想在哪里?因此大部分Web仍是用Java或者C#架构,这仅仅是很初步的语言层面,上升到扩展、效率、逻辑等等就不少了。
为何我喜欢Python,说一个事情。每当我在之前的工做中,不断的重复不少逻辑,开发流程的时候,Python老是带给我惊喜。好比解压缩。若是是Java跟C#,我会坚决果断的去Google一下开源类,而后下载下来,而后编译,而后引用、导入,再找找使用指南……
不错,这是一条路,很好。只要解决问题就好。
可是在生活层面上,老是缺乏一点,没有情调,没有任何触动心灵的颤动。
用Python吧!Python确定有解压缩,没有不可能的,只是你没有想到,我不信一个发展了10年的语言还有什么缺憾,对照C++ SLT也完善的差很少了!想到的都有!
标准库中已经引入了zipfile就ok了
压缩跟解压都3行代码,若是你极端一点1行也能搞定。
但愿你也喜欢上Pyurl
解压当前目录下的zip文件到当前目录,并删除原有的zip文件spa
import zipfile import os file_list = os.listdir(r'.') for file_name in file_list: if os.path.splitext(file_name)[1] == '.zip': print file_name file_zip = zipfile.ZipFile(file_name, 'r') for file in file_zip.namelist(): file_zip.extract(file, r'.') file_zip.close() os.remove(file_name)