1. 程式人生 > 實用技巧 >zipfile和tarfile模組

zipfile和tarfile模組

zipfile壓縮解壓縮

形參 mode 應當為 'r' 來讀取一個存在的檔案,'w' 來截斷並寫入新的檔案, 'a' 來新增到一個存在的檔案。ZipFile 也是一個上下文管理器,也支援with語句。解壓時可指定密碼,密碼必須是bytes型別。

import zipfile

# 壓縮
z = zipfile.ZipFile('t.zip', 'w')  # t.zip表示壓縮後的檔名
z.write('a.log')  # 要打包壓縮的檔案
z.write('data.data')
z.close()  # 關閉檔案

# 解壓
z = zipfile.ZipFile('laxi.zip', 'r')  # 要解壓的檔案
z.extract()  # 解壓單個檔案。
z.extractall(path='.')  # 解壓的路徑
z.close()

使用with語句:

with zipfile.ZipFile('t1.zip','w') as f:
    f.write('a.txt')
    
with zipfile.ZipFile('t1.zip','r') as f:
    f.extractall(path='.',pwd='123'.encode('utf-8'))

tarfile壓縮解壓縮

import tarfile

# 壓縮
t=tarfile.open('/tmp/egon.tar','w')
t.add('/test1/a.py',arcname='a.bak')
t.add('/test1/b.py',arcname='b.bak')
t.close()


# 解壓
t=tarfile.open('/tmp/egon.tar','r')
t.extractall('/egon')
t.close()

壓縮或解壓縮原始檔都不會刪除。