Python 查找修改日期最近的文件

Python Find a file with closest modified date

我有一个给定的文件需要在文件夹结构中找到。文件结构中可以并且将会有重复的文件名,因此我还需要 return 修改日期最接近给定日期的文件。简单地 returning 如下所示的最新文件不符合我的需要。这是无法 google 并且可能 return 有任何帮助的问题之一。

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))

如果日期参数应该接近文件日期,则值

abs(date-os.path.getmtime(your_path))

应该越小越好。因此,将函数的最后一行更改为

return min(result, key=lambda x:abs(date-os.getmtime(x)))

应该可以解决问题。