在做業務中有時候會遇到批量檔案下載下傳的功能,要批量下載下傳需先将檔案進行打包,這裡介紹常用的
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()