【发布时间】:2020-04-01 18:49:52
【问题描述】:
我有一个给定的文件,我需要在文件夹结构中找到。文件结构中可以并且将会有重复的文件名,因此我还需要返回与给定日期最接近的修改日期的文件。简单地返回如下所示的最新文件将不符合我的需要。这是无法通过谷歌搜索并可能返回任何有用信息的问题之一。
def findClosestFile(name, path, date):
result=[]
for root, dirs, files in os.walk(path):
if name in files:
result.append(os.path.join(root, name))
return max(result, key=os.path.getmtime))
【问题讨论】:
-
1) 创建一个以
(mtime, name)为元组的元组列表; 2) 在 mtime 上对该列表进行排序 3) 使用bisect 查找具有所选时间的元组的插入点; 4) 取左/右较近的,这就是答案。
标签: python python-3.x find file-search