Python Найти файл с ближайшей датой изменения - PullRequest
1 голос
/ 01 апреля 2020

У меня есть файл, который мне нужно найти в структуре папок. В структуре файла могут быть и будут повторяющиеся имена файлов, поэтому мне также нужно вернуть файл с ближайшей измененной датой к заданной дате. Простой возврат самого последнего файла, как показано ниже, не будет соответствовать моим потребностям. Это один из тех вопросов, где нет возможности гуглить и, возможно, вернуть что-нибудь полезное.

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 Ответ

3 голосов
/ 01 апреля 2020

Если параметр даты должен быть близок к дате файла, значение

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

должно быть как можно меньше. Поэтому, изменение последней строки вашей функции на

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

должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...