Python: какой файл новее и на сколько времени - PullRequest
5 голосов
/ 28 ноября 2011

Я пытаюсь создать процедуру сравнения файловой даты.Я подозреваю, что следующее - довольно неуклюжий подход.

У меня были некоторые трудности с поиском информации об атрибутах или методах timedelta, или как они там называются;следовательно, я измерил разницу между датой и временем ниже только в днях, минутах и ​​секундах, и в списке нет ни одного элемента, представляющего годы.

Любые предложения по альтернативе будут высоко оценены.

import os
import datetime
from datetime import datetime
import sys

def datetime_filedif(filepath1e, filepath2e):
    filelpath1 = str(filepath1e)
    filepath1 = str(filepath1e)
    filepath2 = str(filepath2e)

    filepath1_lmdate = datetime.fromtimestamp(os.path.getmtime(filepath1))
    filepath2_lmdate = datetime.fromtimestamp(os.path.getmtime(filepath2))

    td_files = filepath2_lmdate - filepath1_lmdate #Time delta of the 2 filedates
    td_list = [('td_files.days', td_files.days), ('td_hrs', int(str(td_files.seconds))/3600), ('td_minutes', (int(str(td_files.seconds))%3600)/60), ('td_seconds', (int(str(td_files.seconds))%3600)%60)]

    print "Line 25: ", str(td_list)

    return td_list

1 Ответ

9 голосов
/ 28 ноября 2011

Для этого уже есть решение:

import os
modified_time = os.stat(path).st_mtime # time of most recent content modification
diff_time = os.stat(path_1).st_mtime - os.stat(path_2).st_mtime

Теперь у вас есть время в секундах с начала эпохи.почему вы создаете новое представление, вы можете создать deltatime или что-то еще из этого, зачем изобретать новый формат?

...