2017-09-04 102 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