Как получить и сравнить дату и время заданных файлов в Python

#python

#python

Вопрос:

Есть ли какие-либо удобные функции, которые могут извлекать временные метки из заданных файлов или даже сравнивать их? Мое идеальное использование было бы таким:

 time_diff = date(file_path_a) - date(file_path_b) # time_diff would be a formatted string such as 2days 3hrs 16 mins
  

Я знаю, что в python есть встроенный модуль datetime, но я не нашел ничего похожего на то, что я использую. И я знаю, что могу добиться аналогичного эффекта, выдав os.stat(file_path), чтобы получить временную метку, и преобразовать их в нужный мне формат. Просто интересно, есть ли какая-нибудь более удобная функция для этого.

Ответ №1:

 import datetime, os
def mtime(filename):
    return datetime.datetime.fromtimestamp(os.stat(filename).st_mtime)
time_diff = mtime(file_path_a) - mtime(file_path_b)
  

… а затем отформатировать полученный datetime.timedelta объект желаемым образом.

Ответ №2:

Вы можете использовать функции time.ctime and os.path.getctime или getmtime . Если вы предпочитаете свой собственный формат для строки времени, используйте time.strftime для форматирования.

 time.ctime(os.path.getctime('fileA') - os.path.getctime('fileB'))