2017-09-04 106 views
0

在一個文件夾我有80000 +文件,其中每個文件名包含YYYYMMDD, 我可以使用glob函數通過YYYYMMDD模式獲取文件。要今天添加文件

Current_Day = str((datetime.date.today().strftime("%Y%m%d"))) 
Directory = SourceFolder+'\*'+Current_Day+'*.PSV' 
ListOfFiles = glob.glob(Directory) 

我能夠通過使用水珠獲取文件夾列表中,有沒有什麼先進的(快速)的方式使用c_time或m_time需要的檔案? EVEC創建時間和修改時間將CURRENT_DAY

回答

0

您可以使用os.stat和/或os.lstat來檢索文件屬性:

import os 
for file in os.listdir(SourceFolder): 
    f_attr = os.stat(file) 
    if datetime.fromtimestamp(f_attr.st_mtime) == date.today(): 
     print('Good file! %s' % file) 
    else: 
     print('Bad file! %s' % file) 
+0

它再次進入For循環,並檢查是否有修改的時間,最終花費很多時間 –

+1

@Shiv沒有可能的方式做你想做的事情,而不需要遍歷文件夾內容......(至少沒有我知道的) – SitiSchu

+1

如果你正在使用Python> = 3.5,你可以使用['os.scandir )'](https://www.python.org/dev/peps/pep-0471/)這是一個產生'DirEntry'對象的生成器。你必須以這種或那種方式迭代目錄... – Hrabal