亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 中ZipFile模塊的功能是什么

發布時間:2021-07-05 16:59:22 來源:億速云 閱讀:217 作者:Leah 欄目:編程語言

Python 中ZipFile模塊的功能是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

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() 會返回壓縮包內所有文件名的列表。

再看看下面一個:

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

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

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

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

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

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

  1. import ZipFile, os  

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

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

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

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

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文昌市| 兰考县| 临沧市| 泾阳县| 深水埗区| 涪陵区| 威海市| 巴里| 锡林浩特市| 安徽省| 清苑县| 卢氏县| 普兰店市| 达州市| 沙湾县| 芦溪县| 宜都市| 马龙县| 合江县| 宜州市| 黄梅县| 卫辉市| 巩留县| 什邡市| 云和县| 北辰区| 广南县| 丰城市| 昌黎县| 恩平市| 梅河口市| 秦安县| 玉门市| 竹溪县| 西吉县| 民县| 白朗县| 霸州市| 新余市| 桂阳县| 南岸区|