【发布时间】:2014-10-17 05:57:07
【问题描述】:
我想检索一个目录中最新创建的文件的数组。每组文件都是在同一时间段内创建的 - 间隔为 1000 毫秒。
此列表中的前 4 个文件是在相同的 1000 毫秒内创建的。我只想检索这 4 个文件:
sceflh.jpg - 2014-08-23 05:07:46.100000000
rgxanx.jpg - 2014-08-23 05:07:45.900000000
byoiup.jpg - 2014-08-23 05:07:45.700000000
rrqgnh.jpg - 2014-08-23 05:07:45.500000000
sqthcv.jpg - 2014-08-23 05:07:40.320000000
ebrmvv.jpg - 2014-08-23 05:07:40.200000000
xzvsnt.jpg - 2014-08-23 05:07:40.110000000
ckiinz.jpg - 2014-08-23 05:07:40.100000000
我将如何检索此类列表?这就是我所拥有的,它只是给了我目录中的所有文件:
def get_files(directory):
files = []
for file in [f for f in os.listdir(directory) if os.path.isfile(os.path.join(directory,f))]:
files.append( '{0}/{1}'.format(directory, file) )
return files
编辑:这是我的最终代码
import os
def get_recent_files(directory, threshold=0.9):
files = sorted(get_files(directory), key=os.path.getmtime,reverse=True)
filtered = filter(lambda x: os.path.getmtime(files[0]) - os.path.getmtime(x) <= threshold, files)
return filtered
def get_files(directory):
files = []
for file in [f for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f))]:
files.append( '{0}/{1}'.format(directory, file) )
return files
for file in get_recent_files("images", 0.900):
print(file)
【问题讨论】:
-
你在哪个操作系统上?
-
如果您指的是上次修改文件的时间,那么您就有机会了。但是,大多数文件系统不存储文件的创建时间,根本无法按照您的要求进行操作。
-
@WilliamPursell 好的,最后修改它。
标签: python arrays linux file directory