成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python ZipFile模塊功能特點講解

開發 后端
Python ZipFile模塊的主要功能就是幫助我們來進行zip格式的壓縮以及解壓縮。那么今天我們將會針對這方面的問題做一個詳細的介紹。

Python編程語言是一款面向對象的功能強大的編程語言。它主要的特點就是簡單易用,及容易掌握。我們今天就先來了解一下這其中的一個比較重要的應用模塊,Python ZipFile模塊的相關應用方法。#t#

Python ZipFile模塊用來做zip格式編碼的壓縮和解壓縮的,由于是很常見的zip格式,所以這個模塊使用頻率也是比較高的,在這里對ZipFile的使用方法做一些記錄。即方便自己也方便別人。
ZipFile里有兩個非常重要的class, 分別是ZipFile和ZipInfo, 在絕大多數的情況下,我們只需要使用這兩個class就可以了。ZipFile是主要的類,用來創建和讀取zip文件而ZipInfo是存儲的zip文件的每個文件的信息的。

比如要讀取一個Python ZipFile模塊,這里假設filename是一個文件的路徑:

  1. import ZipFile  
  2. z = ZipFile.ZipFile(filename, 'r') 
    # 這里的第二個參數用r表示是讀取zip文件,w是創建一個zip文件  
  3. for f in z.namelist():  
  4. print f 

 

上面的代碼是讀取一個zip壓縮包里所有文件的名字。z.namelist() 會返回壓縮包內所有文件名的列表。

再看看下面一個:

 

 

  1. import ZipFile  
  2. z = ZipFile.ZipFile(filename, 'r')  
  3. for i in z.infolist():  
  4. print i.file_size, i.header_offset 

 

這里使用了z.infolist(), 它返回的就是壓縮包內所有文件的信息,就是一個ZipInfo的列表。一個ZopInfo對象中包含了壓縮包內一個文件的信息,其中比較常用的是 filename, file_size, header_offset, 分別為文件名,文件大小,文件數據在壓縮包中的偏移。其實之前的z.namelist()就是讀取的ZopInfo中的filename,組成一個 list返回的。
從壓縮包里解壓縮出一個文件的方法是使用ZipFile的read方法:

 

 

  1. import ZipFile  
  2. z = ZipFile.ZipFile(filename, 'r')  
  3. print z.read(z.namelist()[0]) 

 

這樣就讀取出z.namelist()中的***個文件,并且輸出到屏幕,當然也可以把它存儲到文件。

下面是創建zip壓縮包的方法:

與讀取的方法其實很類似的:

 

 

  1. import ZipFile, os  
  2. z = ZipFile.ZipFile(filename, 'w') 
    # 注意這里的第二個參數是w,這里的filename是壓縮包的名字 

 

假設要把一個叫testdir中的文件全部添加到壓縮包里(這里只添加一級子目錄中的文件):

  1. if os.path.isdir(testdir):  
  2. for d in os.listdir(testdir):  
  3. z.write(testdir+os.sep+d)  
  4. # close() 是必須調用的!  
  5. z.close() 

上面的代碼非常的簡單。想想還有一個問題,如果我把一個test/111.txt 添加到壓縮包里之后我希望在包里它放到test22/111.txt怎么辦呢?其實這個就是Python ZipFile模塊的write方法中第二個參數的作用了。只需要這樣調用:

  1. z.write("test/111.txt", "test22/111.txt")  

 以上就是我們為大家介紹的有關Python ZipFile模塊的相關知識。

責任編輯:曹凱 來源: 博客園
相關推薦

2010-02-03 10:12:53

Python模塊

2010-01-06 19:18:22

.NET Framew

2009-10-10 10:47:56

機架服務器

2010-03-03 09:52:01

Python數組

2023-12-21 07:30:36

PythonZipfileTarfile

2010-04-30 16:08:20

Unix內核

2010-06-17 14:34:18

Rsync 使用

2010-04-30 14:51:23

Unix系統

2010-05-11 20:17:23

NTLM認證協議

2010-02-23 09:51:32

WCF MTOM

2021-06-18 07:16:17

JavaScript apply()方法call()方法

2010-01-04 18:33:39

Silverlight

2010-03-03 13:39:41

Python os模塊

2009-10-27 17:10:05

Linux安全模塊

2009-10-23 09:10:30

linux優勢特點

2009-12-17 15:01:21

Linux系統多用戶

2010-04-26 12:30:42

Unix Shell

2010-09-14 09:19:40

2011-08-02 15:42:14

PythonMySQL

2009-11-25 14:06:53

PHP函數arsort
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本欧美在线视频 | 日韩色在线 | 三级成人在线 | 黄色在线观看国产 | 在线视频成人 | 亚洲欧美在线观看 | 精品久久久久久亚洲综合网 | 中文字幕电影在线观看 | 精品中文在线 | www.788.com色淫免费 | 日日操夜夜操天天操 | 国产精品成人一区二区三区 | 操久久| 国产精品不卡 | 久久久久久免费毛片精品 | 色婷婷国产精品 | 中文视频在线 | 色婷婷综合网 | 一区观看 | 日韩欧美在线精品 | 日本精品免费在线观看 | 中文字幕一区二区三区四区五区 | 国产激情99| 福利视频一区二区三区 | 亚州精品天堂中文字幕 | 久久久久久久国产 | 日韩黄 | 亚洲精品一区在线 | 超碰精品在线 | 最新黄色毛片 | 中文字幕成人免费视频 | 日韩中文字幕 | 久亚州在线播放 | 亚洲一区中文字幕在线观看 | 精品国产欧美一区二区三区成人 | 亚洲视频在线看 | 一区二区三区中文字幕 | 日韩精品三区 | 精产嫩模国品一二三区 | 国产91一区二区三区 | 中文字幕一区二区三区四区五区 |