Python实现删除文件夹内规定时间内的文件

需求:
   在测试程序的时候,程序会大批量的上传文件到规定目录,然后文件根据日期DAY新建文件夹存放,比如28号上传的文件放到  .../28/* 内,29号上传的文件放到 .../29/*内,因为需要测试持续上传3天,而磁盘空间有限,必须删除上传完的文件,确保空间足够。


实现:  自己能用就好,不需要通用。

#-*-coding=gbk -*-
import os
import time

def listDir(fileDir):
     for eachFile in os.listdir(fileDir):
        if os.path.isfile(fileDir+"/"+eachFile):   #如果是文件,判断最后修改时间,符合条件进行删除
            ft = os.stat(fileDir+"/"+eachFile);
            ltime = int(ft.st_mtime); #获取文件最后修改时间
            #print "文件"+path+"/"+eachFile+"的最后修改时间为"+str(ltime);
            ntime = int(time.time())-3600*3; #获取现在时间减去3h
            if ltime<=ntime :         
                print "我要删除文件"+fileDir+"/"+eachFile;
                os.remove(fileDir+"/"+eachFile);   #删除3小时前的文件

        elif os.path.isdir(fileDir+"/"+eachFile) :    #如果是文件夹,继续递归
            listDir(fileDir+"/"+eachFile);
    
if __name__ == '__main__':
    path = "E:/offlinefiles";   #规定目录
    while True :    #持续
        time.sleep(600);   #减少资源利用率  600s秒一次
        print "3600s  wake up";
        listDir(path);
View Code

 

 

 

posted @ 2013-08-30 13:40  爱我所艾  阅读(6166)  评论(1编辑  收藏  举报