Python解压缩ZIP格式
转自:http://blog.csdn.net/linux__kernel/article/details/8271326
很多人在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格式的更多相关文章
- java压缩/解压缩zip格式文件
因为项目要用到压缩.解压缩zip格式压缩包,只好自己封装一个,对于网上流行的中文乱码的问题,本文的解决方法是用apache的包代替jdk里的.基本上还是比较好用的. 废话少说,直接上代码. } ...
- Python 解压缩Zip和Rar文件到指定目录
#__author__ = 'Joker'# -*- coding:utf-8 -*-import urllibimport osimport os.pathimport zipfilefrom zi ...
- Java实现文件压缩与解压[zip格式,gzip格式]
Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术,可以对单个文件和任意级联文件夹进行压缩和解压,对于一些初学者来说是个很不错的实例. zip扮演着归档和压缩两个角色:gzip并 ...
- PclZip:强大的PHP压缩与解压缩zip类
PclZip简介PclZip是一个很强大的压缩与解压缩zip文件的PHP类,PclZip library能够压缩与解压缩Zip格式的压缩档(WinZip.PKZIP):且能对此类类档案进行处理,包括产 ...
- Java对zip格式压缩和解压缩
Java对zip格式压缩和解压缩 通过使用java的相关类可以实现对文件或文件夹的压缩,以及对压缩文件的解压. 1.1 ZIP和GZIP的区别 gzip是一种文件压缩工具(或该压缩工具产生的压缩文件格 ...
- Linux下zip格式文件的解压缩和压缩
Linux下zip格式文件的解压缩和压缩 Linux下的软件包很多都是压缩包,软件的安装就是解压缩对应的压缩包.所以,就需要熟练使用常用的压缩命令和解压缩命令.最常用的压缩格式有.tar.gz/tgz ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- Python操作Zip文件
Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # ...
- 安装mysql(zip格式安装包)
mysql下载地址:http://www.mysql.com/ 一. zip格式,解压缩之后要进行配置.解压之后可以将该文件夹改名,放到合适的位置,比如把文件夹改名为MySQL Server 5.6( ...
随机推荐
- LibreOJ2302 - 「NOI2017」整数
Portal Description 有一个整数\(x=0\),对其进行\(n(n\leq10^6)\)次操作: 给出\(a(|a|\leq10^9),b(b\leq30n)\),将\(x\)加上\( ...
- 积累js中的一些问题及解决方案
一.取字符串的第i位不兼容的问题 1.问题:对于字符串str来说,要获取第i位,常见的是str[i],但是在低版本的浏览器中不兼容,例如ie7. 2.解决:使用str.charAt(i); 二.使用定 ...
- BitmapFactory.Options对图片进行缩放
package com.pingyijinren.helloworld.activity; import android.graphics.Bitmap; import android.graphic ...
- 洛谷—— P1714 切蛋糕
https://www.luogu.org/problem/show?pid=1714 题目描述 今天是小Z的生日,同学们为他带来了一块蛋糕.这块蛋糕是一个长方体,被用不同色彩分成了N个相同的小块,每 ...
- Docker安装redis操作命令
最近学习了redis,那么今天我们来学习以下在Docker上安装我们的redis,并查看有关redis的一系列命令 查找redis docker search redis 拉取redis docker ...
- CSS 空中飘动的云动画
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- ansible学习之--简单学习笔记1
1.利用dm-crypt来创建加密文件系统.编写shell脚本(安装和卸载两个shell脚本) 2.编写ansible,playbook文件 3.编写python脚本 首先编写shell脚本 inst ...
- 关于disable和readonly
我们在做网页时,难免的会因为权限或者各种原因,想让使用者看到,但是却不想让用户去对值进行更改,我们有两个选择 一.我们使用disabled将文本框禁用掉. 二.我们使用readonly使得文本框只能读 ...
- C++ std::tr1::shared_ptr使用说明
1. 介绍 shared_ptr 是通过指针保持某个对象的共享拥有权的智能指针. 若干个 shared_ptr 对象能够拥有同一个对象:最后一个指向该对象的 shared_ptr 被销毁或重置时.该对 ...
- MyEclipse搭建SSH(Struts2+Spring2+Hibernate3)框架项目教程
对Struts.spring.hibernate大体上了解一遍后,就是针对这个几个框架的整合了. 怎样整合,请看以下: 第一:Struts2的jar和xml配置文件: jar包: commons-fi ...