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