python 压缩文件为zip后删除原文件

压缩.log 文件为zip后删除原文件

需要注意:本人作为小白,该脚本需要和.log在一起,后面有时间需要改正。

#!/usr/local/python/bin/python
#-*-coding=utf8 -*-
import time
import os
import sys
import zipfile

N = 7 #设置删除多少天前的文件

def zip(srcpath):
    for folder,sumfolder,files in os.walk(srcpath):	
        for file in files:
           lastmodifytime = os.stat(os.path.join(srcpath,file)).st_mtime
           endfiletime = time.time() - 3600 * 24 * N #设置删除多久之前的文件
           if endfiletime > lastmodifytime:
               if file.endswith('.log') or file.endswith('.txt')  or file.startswith('app.log'): #处理后缀为.log和.txt 的文件,或者文件名开头为app.log 的文件
	               fantasy_zip=zipfile.ZipFile(file + ".zip",'w',allowZip64 = True)  #对大于4G的文件也可以操作
                   fantasy_zip.write(os.path.join(folder,file),os.path.relpath(os.path.join(folder,file),srcpath),compress_type = zipfile.ZIP_DEFLATED)
                   fantasy_zip.close()
		           os.remove(file)
	               print "删除文件 %s 成功" % filename


if __name__ == '__main__':
        srcpath = r'/home/xiaodao/logs'
        zip(srcpath)

  

posted @ 2018-09-21 16:15  MR__Wang  阅读(2534)  评论(1)    收藏  举报