python删除指定目录下N天前的文件

# -*- coding: utf-8 -*-
import os
import sys
import time

# Sets how many days old files are deleted

# To delete the path and the following subfiles

class DelLogUtil():
    def deletefile(self,PATH,DAYS_N):
        for eachfile in os.listdir(PATH):
            # print eachfile
            # 带路径的文件名 D:\tmp\files\234.log
            filename = os.path.join(PATH, eachfile)
            # print filename
            if os.path.isfile(filename):
                lastmodifytime = os.stat(filename).st_mtime
                # print lastmodifytime
                # Sets how many days old files are deleted
                endfiletime = time.time() - 3600 * 24 * DAYS_N
                if endfiletime > lastmodifytime:
                    # To remove the following comment is to delete the.log suffix file
                    # Comment is delete path under all files do not match
                    if filename[-4:] == ".log":
                        os.remove(filename)
                        print "del %s success!!!" % filename
            # If it is a directory, the current function is called recursively
            elif os.path.isdir(filename):
                df = DelLogUtil()
                df.deletefile(filename,DAYS_N)


if __name__ == '__main__':
    df = DelLogUtil()
    df.deletefile(r'D:\tmp\files', 10)

time.sleep(1)
print ('Deleting completed,success')

猜你喜欢

转载自www.cnblogs.com/yoyowin/p/12172315.html