最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python ZipFile模塊詳解

 更新時(shí)間:2013年11月01日 10:10:49   作者:  
Python壓縮和解壓縮的使用方法詳解,zipfile里有兩個(gè)非常重要的class, 分別是ZipFile和ZipInfo。
Python zipfile模塊用來做zip格式編碼的壓縮和解壓縮的,zipfile里有兩個(gè)非常重要的class, 分別是ZipFile和ZipInfo, 在絕大多數(shù)的情況下,我們只需要使用這兩個(gè)class就可以了。ZipFile是主要的類,用來創(chuàng)建和讀取zip文件而ZipInfo是存儲(chǔ)的zip文件的每個(gè)文件的信息的。
比如要讀取一個(gè)Python zipfile 模塊,這里假設(shè)filename是一個(gè)文件的路徑:
復(fù)制代碼 代碼如下:

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

上面的代碼是讀取一個(gè)zip壓縮包里所有文件的名字。z.namelist() 會(huì)返回壓縮包內(nèi)所有文件名的列表。
再看看下面一個(gè):
復(fù)制代碼 代碼如下:

import zipfile 
z = zipfile.ZipFile(filename, 'r') 
for i in z.infolist(): 
print i.file_size, i.header_offset

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

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

這樣就讀取出z.namelist()中的第一個(gè)文件,并且輸出到屏幕,當(dāng)然也可以把它存儲(chǔ)到文件。下面是創(chuàng)建zip壓縮包的方法,與讀取的方法其實(shí)很類似的:
復(fù)制代碼 代碼如下:

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

假設(shè)要把一個(gè)叫testdir中的文件全部添加到壓縮包里(這里只添加一級(jí)子目錄中的文件):
復(fù)制代碼 代碼如下:

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

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

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

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

相關(guān)文章

最新評(píng)論

梅河口市| 福泉市| 平利县| 东平县| 都江堰市| 海丰县| 鄢陵县| 抚松县| 江孜县| 华亭县| 遂宁市| 威海市| 土默特右旗| 紫云| 绍兴县| 莆田市| 登封市| 阳新县| 曲水县| 甘孜县| 蓬莱市| 成武县| 东兰县| 闽侯县| 滨州市| 正镶白旗| 贡山| 郯城县| 武义县| 汉中市| 荆州市| 北宁市| 海城市| 定边县| 浦县| 蕲春县| 阳东县| 普陀区| 北辰区| 金塔县| 武城县|