在日常的自動化測試中,通常在測試結束需要傳送測試報告給相關人員,而測試報告中涉及多個檔案,那麼就需要使用壓縮資料夾的功能,下面是使用zip壓縮方式的具體實現方法:
import zipfile
import os
from conf.conf import file_path, dir_name
from common.logger import getlogger
class
zipfile()
:def
__init__
(self)
: self.logger = getlogger(
).get_logger(
)def
zip_dir
(self, dir_path)
:'''
壓縮資料夾
:param dir_path: 目標資料夾路徑
'''zip_path = file_path # 壓縮後的資料夾名
try:
z = zipfile.zipfile(zip_path,
'w', zipfile.zip_deflated)
for root, dirnames, filenames in os.walk(dir_path)
: file_path = root.replace(dir_path,'')
# 去掉根路徑,只對目標資料夾下的檔案及資料夾壓縮
# 迴圈出乙個個檔名
for filename in filenames:
z.write(os.path.join(root, filename)
, os.path.join(file_path, filename)
) self.logger.info(
'壓縮成功'
) z.close(
)except exception as e:
self.logger.error(
'壓縮失敗:{}'
.format
(e))
if __name__ ==
'__main__'
: z = zipfile(
) z.zip_dir(dir_name +
'/reports/test'
)
C zip壓縮檔案的功能
using system using system.collections.generic using system.io using icsharpcode.sharpziplib.checksums using icsharpcode.sharpziplib.zip namespace buil...
Python之壓縮檔案
系統 windows10 64位 python版本 3.7 zipfile模組是python的內嵌模組,所以不需要安裝 比較簡單,直接上 import zipfile zip file name 待解壓的zip檔案 data dir 解壓檔案的存放路徑 f zipfile.zipfile zip f...
python 讀寫壓縮檔案
gzip和bz2模組可以很容易的處理這些檔案。兩個模組都為open 函式提供了另外的實現來解決這個問題。比如,為了以文字形式讀取壓縮檔案,可以這樣做 gzip compression import gzip with gzip.open somefile.gz rt as f text f.read...