十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
Python管理zip主要使用zipfile模塊,這個模塊里有一個名為 ZipFile 的對象,我們通過將 zip 壓縮包的名稱傳遞給這個對象的函數(shù),這樣就打開了一個 zip 壓縮包并獲得一個 ZipFile 的對象,然后使用這個對象的方法去讀取 zip 壓縮包里的內(nèi)容。具體如下所示:
成都創(chuàng)新互聯(lián)是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的成都二樞機房服務(wù)
import zipfile
first_zip = zipfile.ZipFile('test.zip')
file_list = first_zip.namelist()
print(file_list)namelist() 是 ZipFile 中的常用方法,除此以外比較常用的方法還有 extract,extractall:
如果想要創(chuàng)建一個zip格式的壓縮文件,必須要以「寫」的模式打開 zip 文件,可以是w或a
import zipfile
my_zip = zipfile.ZipFile('test2.zip', 'w')
my_zip.write('serilizer.py')
my_zip.close() 上面的代碼是創(chuàng)建了一個名為test2.zip的新zip壓縮包,壓縮包里包含serilizer.py這個問題件,注意,如果同名壓縮包已經(jīng)存在,使用w模式會刪除壓縮包內(nèi)原有的問題件,如果對已有壓縮包添加文件的話可以使用a模式
tar 命令一般是在 Linux 系統(tǒng)中創(chuàng)建壓縮包,此外 tar 命令也可以創(chuàng)建一個不壓縮的 tar 包,僅僅是為了能把多個文件進行打包便于傳輸。這也就是說,我們在使用 tar 命令的時候,既可以創(chuàng)建普通的 tar 包,也可以創(chuàng)建使用壓縮算法壓縮過的壓縮包。
Python 中使用 tarfile 標(biāo)準(zhǔn)庫提供了 tar 命令提供的功能,我們也可以使用它創(chuàng)建一個壓縮或者一個非壓縮的 tar 包。
import tarfile
with tarfile.open('etc.tar', mode='w') as f:
f.add('apps.py')上面的代碼中,由于我們是創(chuàng)建一個 tar 包,所以以「寫」模式打開 tar 包并得到一個 TarFile 對象,然后使用 TarFile 對象的 add 方法將 test.py 文件添加到 tar 包中。
import tarfile
with tarfile.open('etc.tar') as t:
for member in t.getmembers():
print(member.name)上面的代碼中,導(dǎo)入 tarfile 庫,使用默認(rèn)的讀模式打開 tar 包,tarfile.open() 函數(shù)返回一個 TarFile 對象,這個對象表示當(dāng)前打開的 tar 包,我們可以通過這個對象的方法操作和讀取 tar 包中的內(nèi)容。
tarfile 中有不少函數(shù),其中最常用的有 getnames,extract,extractall 函數(shù):
上面我們用 targfile 創(chuàng)建和讀取未壓縮的 tar 包,但是一般情況下,我們創(chuàng)建 tar 包的時候都會使用壓縮算法進行壓縮,以加快傳輸速度和減少占用的磁盤空間。
使用 tarfile 創(chuàng)建和讀取壓縮包非常簡單,只要在打開文件時指定壓縮算法即可。對于 tarfile 的 open 函數(shù),以「打開模式:壓縮算法」的形式打開即可。具體如下所示:
import tarfile
with tarfile.open('etc.tar.gz', mode='w:gz') as f:
f.add('apps.py')
import tarfile
with tarfile.open('test.tar.gz', 'r:gz') as f:
for member in f.getmembers():
print(member.name)參考鏈接
https://mp.weixin.qq.com/s/mic5BtABQYBxMCxvw6t3Bw