美文网首页
python搜索指定目录下所有*.log文件,并压缩以日期格式转

python搜索指定目录下所有*.log文件,并压缩以日期格式转

作者: 洛丽塔的云裳 | 来源:发表于2019-12-01 18:58 被阅读0次

参考: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)

测试结果


相关文章

网友评论

      本文标题:python搜索指定目录下所有*.log文件,并压缩以日期格式转

      本文链接:https://www.haomeiwen.com/subject/tlozwctx.html