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

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM