python 獲取指定目錄,指定時間下所有更改的檔案
阿新 • • 發佈:2019-02-11
#!/usr/bin/python # -*- coding: UTF-8 -*- import os import time import datetime """ 獲取指定時間,指定資料夾下修改的檔案 """ def transTime(assignTime): """ @summary:將給定時間轉換為長整形 @param assignTime:給定的時間 如:'2016-12-3 10:30' @return: timeLong 長整形時間 """ timeList = assignTime.replace(' ','-').replace(':','-').split('-') timeList = map(int,timeList) #[2016, 12, 3, 10, 30] timeStr = datetime.datetime(*timeList) #2016-12-03 10:30:00 timeLong = time.mktime(timeStr.timetuple()) #1480732200.0 return timeLong def getChangedFiles(assignPath,assignTime): """ @summary: 得到指定時間之後,指定路徑下(包括子路徑)更改的所有檔案 @param assignPath: 指定資料夾 @param assignTime: 指定時間 """ for root,dirs,files in os.walk(assignPath): for file in files: f = os.path.join(root,file) mtime = os.path.getmtime(f) if os.path.splitext(f)[1] in ('.html','.php','.py') and mtime > transTime(assignTime): print f,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(mtime)) if __name__ == '__main__': assignTime = '2016-12-3 10:30' #指定時間 currentPath = os.getcwd() #當前目錄 assignPath = os.path.dirname(currentPath) #當前目錄的上一級目錄夾 getChangedFiles(assignPath,assignTime)