自动清理日志文件
程序员文章站
2022-06-26 19:12:36
...
#coding=utf-8 #自动清理时间到期的文件夹 import os import time import datetime #删除文件夹下所有文件和子文件夹 def delete_file_folder(src): '''delete files and folders''' if os.path.isfile(src): try: os.remove(src) except: pass elif os.path.isdir(src): for item in os.listdir(src): itemsrc=os.path.join(src,item) delete_file_folder(itemsrc) try: os.rmdir(src) except: pass def checktime(yourpath): #根据时间计算 pathlist=os.listdir(yourpath) extlist=['txt','jpg']#允许删除的文件格式 for i in range(len(pathlist)): source=yourpath+'\\'+pathlist[i] dirname=pathlist[i] #print dirname #print source if os.path.isfile(source): m=time.localtime(os.stat(source).st_ctime)#文件的创建时间 startime=datetime.datetime.now() endtime=datetime.datetime(m.tm_year,m.tm_mon,m.tm_mday,m.tm_hour,m.tm_min,m.tm_sec) #年月日时分秒 mydays=(startime-endtime).seconds ext=os.path.splitext(source)[1][1:].lower() #文件格式 if mydays>=10000 and ext in extlist: #10000秒清空一次 os.remove(source)#如果存在文件,则删除 print '已删除',source,'文件' #如果是目录 if os.path.isdir(source): m=time.localtime(os.stat(source).st_ctime)#文件的创建时间 startime=datetime.datetime.now() endtime=datetime.datetime(m.tm_year,m.tm_mon,m.tm_mday,m.tm_hour,m.tm_min,m.tm_sec) #年月日时分秒 mydays=(startime-endtime).seconds ext=os.path.splitext(source)[1][1:].lower() #文件格式 if mydays>=10000 and dirname.startswith('201209'): #10000秒清空一次 delete_file_folder(source)#删除文件夹下所有文件和子文件夹 print '已删除',source,'文件夹' #测试用部分 if __name__ == '__main__': try: checktime('E:\\hippo\\target_10.201.76.152') checktime('E:\\hippo\\target_FTP_TEST') checktime('E:\\ftphome') except Exception,se: print str(se);