av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

PythonZipFile模塊功能特點(diǎn)講解

Python編程語言是一款面向?qū)ο蟮墓δ軓?qiáng)大的編程語言。它主要的特點(diǎn)就是簡單易用,及容易掌握。我們今天就先來了解一下這其中的一個(gè)比較重要的應(yīng)用模塊,Python ZipFile模塊的相關(guān)應(yīng)用方法。#t#

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

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

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

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

再看看下面一個(gè):

 
 
 
  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(), 它返回的就是壓縮包內(nèi)所有文件的信息,就是一個(gè)ZipInfo的列表。一個(gè)ZopInfo對象中包含了壓縮包內(nèi)一個(gè)文件的信息,其中比較常用的是 filename, file_size, header_offset, 分別為文件名,文件大小,文件數(shù)據(jù)在壓縮包中的偏移。其實(shí)之前的z.namelist()就是讀取的ZopInfo中的filename,組成一個(gè) list返回的。
從壓縮包里解壓縮出一個(gè)文件的方法是使用ZipFile的read方法:

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

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

下面是創(chuàng)建zip壓縮包的方法:

與讀取的方法其實(shí)很類似的:

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

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

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

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

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

 以上就是我們?yōu)榇蠹医榻B的有關(guān)Python ZipFile模塊的相關(guān)知識。


本文標(biāo)題:PythonZipFile模塊功能特點(diǎn)講解
文章鏈接:http://uogjgqi.cn/article/cdhesdp.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流