Python刪除指定目錄下的過期文件

mxw8 10年前發布 | 2K 次閱讀 Python

import os
import sys
import time
class DeleteLog:

def __init__(self,fileName,days):
    self.fileName = fileName
    self.days = days
def delete(self):
    if os.path.isfile(self.fileName):
        fd = open(self.fileName,'r')
        while 1:
            buffer = fd.readline()
            if not buffer : break
            if os.path.isfile(buffer):
                os.remove(buffer)
        fd.close()
    elif os.path.isdir(self.fileName):
        for i in [os.sep.join([self.fileName,v]) for v in os.listdir(self.fileName)]:
            print i
            if os.path.isfile(i):
                if self.compare_file_time(i):
                    os.remove(i)
            elif os.path.isdir(i):
                self.fileName = i
                self.delete()
def compare_file_time(self,file):
    time_of_last_access = os.path.getatime(file)
    age_in_days = (time.time()-time_of_last_access)/(60*60*24)
    if age_in_days > self.days:
        return True
    return False

if name == 'main': if len(sys.argv) == 2: obj = DeleteLog(sys.argv[1],0) obj.delete() elif len(sys.argv) == 3: obj = DeleteLog(sys.argv[1],int(sys.argv[2])) obj.delete() else: print "usage: python %s listFileName|dirName [days]" % sys.argv[0] sys.exit(1)</pre>

 本文由用戶 mxw8 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!