参考:https://github.com/geekcomputers/Python/blob/master/logs.py
ZIP 文件格式是一个常用的归档与压缩标准。 这个模块提供了创建、读取、写入、添加及列出 ZIP 文件的工具。
版本1. 未加盖时间戳
import os
import sys
import zipfile
def zip_log(path):
""" 根据指定目录,压缩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)
测试结果:

版本2. 加盖时间戳
# -*- coding: utf-8 -*-
import os
import sys
import zipfile
import time
def zip_log(path):
""" 根据指定目录,压缩log,并加盖时间戳 """
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)
测试结果

网友评论