Python压缩文件基本应用代码示例解读

开发 后端
Python压缩文件的应用,可以通过zipfile的相关操作来实现。我们今天将会在这里通过一段代码示例为大家详细解读相关应用方式。

Python编程语言的出现,在很大程度上大大提高了编程人员程序开发的效率,并且其应用方式简单,很容易上手,极大的满足了一些编程人员的开发需求。我们今天将会为大家详细介绍一下Python压缩文件的相关方法。#t#

在了解Python压缩文件这一技巧之前,首先先让我们对Python这一语言进行一个详细的介绍。

可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或 C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。

Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种***的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:

There should be one-- and preferably only one --obvious way to do it.

有意思的是,这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。

Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。

例如if语句:  

  1. if age<21: 
  2. print "You cannot buy wine!\n"  
  3. print "But you can buy chewing gum.\n"  
  4. print "this is outside if\n" 

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

另外Python在其他部分的设计上也坚持了清晰划一的风格,这使得Python称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。Python直接编写的程序段有时运行效率甚至高于用C编写的程序。

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

在这里我需要把一个目录压缩,这就要将目录里的文件一个文件一个文件的加入,然后在使用zipfile的ZipFile类的时候,再一个一个写入压缩文件以完成Python压缩文件这一操作步骤。

  1. #!/usr/bin/env Python  
  2. #coding=utf-8  
  3. import os  
  4. import zipfile  
  5. filelist = []  
  6. for root, dirs, files in os.walk("D:\\clean"):  
  7. for name in files:  
  8. filelist.append(os.path.join(root, name))  
  9. zf = zipfile.ZipFile("d:\\test.zip", "w", zipfile.zlib.DEFLATED)  
  10. for tar in filelist:  
  11. zf.write(tar)  
  12. zf.close() 

以上就是对Python压缩文件的相关介绍。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-03-03 14:30:05

Python set类

2010-03-03 15:17:46

Python调用MyS

2010-03-04 14:57:08

Python解密VBS

2010-03-01 16:04:31

WCF服务契约

2010-03-03 13:22:08

Python正则表达式

2010-03-03 16:08:26

Python取得文件列

2013-12-12 16:10:21

Lua脚本语言

2009-06-06 19:07:44

java压缩文件

2010-03-03 16:40:55

Python HTTP

2010-03-04 09:27:34

调用Python脚本

2010-03-03 14:40:37

Python打包方法

2010-03-03 10:03:55

Python连接Sql

2010-03-02 14:41:00

WCF行为控制

2010-07-08 15:24:17

SNMP trap

2010-03-05 15:47:59

Python Stri

2010-03-04 15:52:59

Python构造列表

2013-07-18 14:16:14

ZipArchive压iOS开发

2010-03-29 10:26:06

Nginx配置文件

2010-02-04 17:16:33

C++调用python

2009-12-16 16:11:14

Linux压缩文件
点赞
收藏

51CTO技术栈公众号