Frage Python: welche Datei ist neuer und um wieviel Zeit


Ich versuche, eine archivierte Vergleichsroutine zu erstellen. Ich vermute, dass das Folgende ein eher klobiger Ansatz ist.

Ich hatte Schwierigkeiten, Informationen über die Attribute oder Methoden von timedelta zu finden, oder wie auch immer sie heißen. Daher habe ich die Zeitdifferenz unten nur in Tagen, Minuten und Sekunden gemessen, und es gibt keinen Listeneintrag für Jahre.

Irgendwelche Vorschläge für eine Alternative würden sehr geschätzt.

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

5
2017-11-28 14:07


Ursprung


Antworten:


Dafür gibt es bereits eine Lösung:

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

Jetzt hast du die Zeit in Sekunden seit Epoch. Warum erstellst du eine neue Repräsentation, kannst eine Deltatime oder was auch immer daraus erstellen, warum erfindest du ein neues Format?


9
2017-11-28 14:11