參考:https://github.com/geekcomputers/Python/blob/master/logs.py
ZIP 文件格式是一個(gè)常用的歸檔與壓縮標(biāo)準(zhǔn)阵漏。 這個(gè)模塊提供了創(chuàng)建峭弟、讀取朗伶、寫入好渠、添加及列出 ZIP 文件的工具昨稼。
版本1. 未加蓋時(shí)間戳
import os
import sys
import zipfile
def zip_log(path):
""" 根據(jù)指定目錄,壓縮log """
zipname = path + '/test.zip'
f_zip = zipfile.ZipFile(zipname, 'w', zipfile.ZIP_DEFLATED)
all_log = os.listdir(path)
basename = os.path.basename(path)
for alog in all_log:
if alog.endswith('.log'):
f_zip.write(basename + '/' + alog)
f_zip.close()
if __name__ == '__main__':
path = os.path.join(os.getcwd(), 'log')
zip_log(path)
測(cè)試結(jié)果:
版本2. 加蓋時(shí)間戳
# -*- coding: utf-8 -*-
import os
import sys
import zipfile
import time
def zip_log(path):
""" 根據(jù)指定目錄拳锚,壓縮log悦昵,并加蓋時(shí)間戳 """
zipname = path + '/test.zip'
f_zip = zipfile.ZipFile(zipname, 'w', zipfile.ZIP_DEFLATED)
basename = os.path.basename(path)
for alog in os.listdir(path):
if alog.endswith('.log'):
new_alog = alog + '.' + time.strftime('%Y-%m-%d')
os.rename(os.path.join(path, alog), os.path.join(path, new_alog))
f_zip.write(basename + '/' + new_alog)
f_zip.close()
if __name__ == '__main__':
path = os.path.join(os.getcwd(), 'log')
zip_log(path)
測(cè)試結(jié)果