python管理zip主要使用zipfile模組,這個模組裡有乙個名為 zipfile 的物件,我們通過將 zip 壓縮包的名稱傳遞給這個物件的函式,這樣就開啟了乙個 zip 壓縮包並獲得乙個 zipfile 的物件,然後使用這個物件的方法去讀取 zip 壓縮包裡的內容。具體如下所示:namelist() 是 zipfile 中的常用方法,除此以外比較常用的方法還有 extract,extractall:
如果想要建立乙個zip格式的壓縮檔案,必須要以「寫」的模式開啟 zip 檔案,可以是w或a上面的**是建立了乙個名為test2.zip的新zip壓縮包,壓縮包裡包含serilizer.py這個問題件,注意,如果同名壓縮包已經存在,使用w模式會刪除壓縮包內原有的問題件,如果對已有壓縮包新增檔案的話可以使用a模式import zipfile
my_zip = zipfile.zipfile('test2.zip', 'w')
my_zip.write('serilizer.py')
my_zip.close()
tar 命令一般是在 linux 系統中建立壓縮包,此外 tar 命令也可以建立乙個不壓縮的 tar 包,僅僅是為了能把多個檔案進行打包便於傳輸。這也就是說,我們在使用 tar 命令的時候,既可以建立普通的 tar 包,也可以建立使用壓縮演算法壓縮過的壓縮包。python 中使用 tarfile 標準庫提供了 tar 命令提供的功能,我們也可以使用它建立乙個壓縮或者乙個非壓縮的 tar 包。上面的**中,由於我們是建立乙個 tar 包,所以以「寫」模式開啟 tar 包並得到乙個 tarfile 物件,然後使用 tarfile 物件的 add 方法將 test.py 檔案新增到 tar 包中。import tarfile
with tarfile.open('etc.tar', mode='w') as f:
import tarfile上面的**中,匯入 tarfile 庫,使用預設的讀模式開啟 tar 包,tarfile.open() 函式返回乙個 tarfile 物件,這個物件表示當前開啟的 tar 包,我們可以通過這個物件的方法操作和讀取 tar 包中的內容。with tarfile.open('etc.tar') as t:
for member in t.getmembers():
print(member.name)
tarfile 中有不少函式,其中最常用的有 getnames,extract,extractall 函式:
上面我們用 targfile 建立和讀取未壓縮的 tar 包,但是一般情況下,我們建立 tar 包的時候都會使用壓縮演算法進行壓縮,以加快傳輸速度和減少占用的磁碟空間。使用 tarfile 建立和讀取壓縮包非常簡單,只要在開啟檔案時指定壓縮演算法即可。對於 tarfile 的 open 函式,以「開啟模式:壓縮演算法」的形式開啟即可。具體如下所示:import tarfile
with tarfile.open('etc.tar.gz', mode='w:gz') as f:
import tarfilewith tarfile.open('test.tar.gz', 'r:gz') as f:
for member in f.getmembers():
print(member.name)
使用Python管理壓縮包
一 使用tarfile庫讀取與建立tar包 1.建立tar包 in 1 import tarfile in 2 with tarfile.open demo.tar mode w as out out.add 1.txt out.add 2.txt 2.讀取tar包 in 1 import tarf...
使用Python管理壓縮包
一 使用tarfile庫讀取與建立tar包 1.建立tar包 in 1 import tarfile in 2 with tarfile.open demo.tar mode w as out out.add 1.txt out.add 2.txt 2.讀取tar包 in 1 import tarf...
無需壓縮軟體,用python幫你操作壓縮包
寫在之前 壓縮包是網際網路上軟體發布的標準格式,同時對於系統管理很有用處。當我們需要將多份檔案傳送給別人的時候,最好通過壓縮包的形式傳送,還有在備份某些檔案的時候,為了減少磁碟空間的占用,也需要對備份的資料進行壓縮。python 中有一系列對壓縮包進行處理的工具,包括程式設計客棧建立壓縮包,解壓壓縮...