python: 哪个文件更新了,更新了多长时间

5 投票
1 回答
2665 浏览
提问于 2025-04-17 07:14

我正在尝试创建一个文件日期比较的程序。我觉得我现在的方法有点笨拙。

我发现很难找到关于时间差(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 个回答

10

这个问题已经有解决办法了:

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

现在你得到了自1970年1月1日以来的秒数,为什么还要创建一个新的表示方式呢?你可以直接从这个秒数计算出时间差或者其他的东西,为什么要发明一个新的格式呢?

撰写回答