天天看點

Python3 檔案打包與解包

在做業務中有時候會遇到批量檔案下載下傳的功能,要批量下載下傳需先将檔案進行打包,這裡介紹常用的

zip

tar

打包與解包

Python 中内置了打包的庫,我們直接使用即可

zip

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import zipfile


# zip 打包
z = zipfile.ZipFile('black.zip', 'w') # 建立一個空包
z.write('./image-1.jpg')
z.write('./image-2.png')
z.close() 

# zip 解包
z = zipfile.ZipFile('black.zip', 'r')
zip_list = z.namelist()     # 包裡所有檔案清單
z.extractall()              # 解壓所有檔案
z.extract('image-1.jpg')    # 解壓指定檔案
z.close() 
           

tar

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

import tarfile


# tar 打包
tar = tarfile.open('black.tar.gz', 'w') # 建立一個空包
# 将檔案寫入包内,arcname 是檔案對象,壓縮後包裡檔案名稱就是這個對象名
tar.add('./image-1.jpg', arcname='image1')
tar.add('./image-2.png', arcname='image2')
tar.close()

# tar 解包
tar = tarfile.open('black.tar.gz', 'r')
tar.extractall()                        # 解壓所有檔案
tar.extract(tar.getmember('image1'))    # 解壓指定檔案,需要傳入檔案對象名
tar.close()