1. 程式人生 > >python 獲取指定目錄,指定時間下所有更改的檔案

python 獲取指定目錄,指定時間下所有更改的檔案

#!/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)