转载至https://www.cnblogs.com/flyhigh1860/p/3884842.html

很多人在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行也能搞定。
希望你也喜欢上Py

解压当前目录下的zip文件到当前目录,并删除原有的zip文件

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)

如何通过python代码解压zip包的更多相关文章

  1. java 解压 zip 包并删除

    需求是这样的,  在服务器上有 运营上传的zip 包,内容是用户的照片,我需要做的是 获取这些照片上传,并保存到 数据库. 这里面的 上传照片,保存数据库都不难,主要问题是解压zip包,和删除zip ...

  2. redhat下安装mysql 5.6.20,解压zip包,查看已经安装过的mysql,卸载rpm安装包,安装mysqlserver端和client,改动mysqlusername,登陆mysql,启动关闭mysql

     1 将相关的mysql rpm包上传到redhat上 2  我的电脑是Redhat 6.*版本号.所以这里使用上面一个 3  解压zip包 4  安装下面几个rpm MySQL-client-a ...

  3. java代码解压zip文件

    import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Inp ...

  4. mysql5.7.12直接解压zip包,安装过程

    MySQL-5.7.12-winx64.zip解压安装方式 1.解压文件到你想要安装的位置.     本人是直接解压到E盘. 2.配置环境变量,在path中放入:E:\mysql-5.7.12-win ...

  5. Ubuntu解压zip包中文乱码

    解决方法:通过unar 工具解压 步骤一: 安装unar: sudo apt-get install unrar 步骤二: 解压(以test.zip为例):unar test.zip 解压成功,乱码问 ...

  6. python 操作Excel表格,解压zip包,压缩zip包,目录遍历

    import zipfile import os,shutil import openpyxl file_list_pos="" fileName="" zip ...

  7. Java 解压zip压缩包

    因为最近项目需要批量上传文件,而这里的批量就是将文件压缩在了一个zip包里,然后读取文件进行解析文件里的内容. 因此需要先对上传的zip包进行解压.以下直接提供代码供参考: 1.第一个方法是用于解压z ...

  8. Unix系统解压tar包时出现@LongLink错误

    Unix系统上使用tar命令解压tar包后,多了一个@LongLink的文件,并且原来的tar包解压后不完整.网上查了下,原因是AIX系统上tar命令自身的一个缺陷.解决办法:把该tar包上传到lin ...

  9. java 压缩和解压zip包

    网上有关压缩和解压zip包的博文一大堆,我随便找了一个.看了看,依照自己的须要改动了一下,与各位分享一下,希望各位大神指正: package com.wangpeng.utill; import ja ...

随机推荐

  1. numpy和Matplotlib篇---2

    原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 5.3 Python的科学计算包 - Numpy numpy(Numerical Python ...

  2. ant 打批量渠道包,第三方项目作为library打包出错的问题

    ant批量打包不解释了.详情请看前面其它的blog! 这里说一下 开发中,非常可能遇到引用第三方的项目作为library情况.这样的情况下该怎么打包呢? 第一:改动build.xml 第二:在init ...

  3. Shiro集成Spring

    本篇博客主要讲述的是两者的集成.不涉及到各自的详细细节和功能. 因为官方给出的文档不够具体,对新手而言通过官方文档还不可以非常快的搭建出SpringShiro的webproject.本博客将通过实际的 ...

  4. SpringMVC由浅入深day01_13springmvc和struts2的区别_14问题

    13 springmvc和struts2的区别 1.springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发, ...

  5. GoF--适配器设计模式

    1.概念:  适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 2.形式  a.类的适配器模式  ...

  6. Go之简单并发

    func Calculate(id int) { fmt.Println(id) } 使用go来实现并发 func main() { for i := 0; i < 100; i++ { go ...

  7. iOS 图片剪切和压缩的几个方法

    // 图片剪切 - (UIImage*)clipImageWithImage:(UIImage*)image inRect:(CGRect)rect {    CGImageRef imageRef ...

  8. 【AI】face_recognition

    1.pip install cmake 2.pip install boost 3.pip install dlib 4.pip install face_recognition

  9. form提交表单没接收到$_POST

    分享一个最近做项目遇到的奇葩经历: 很奇怪的,我在弄一个表单提交的时候,后台验证就报了非post提交错误 我就郁闷了,我form明明写的method为post,不可能是非post错误啊 经历反应测试, ...

  10. hadoop 随笔

    http://p-x1984.iteye.com/blog/859843 面试hadoop可能被问到的问题,你能回答出几个 ? 1.hadoop运行的原理? 2.mapreduce的原理? 3.HDF ...