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