python: 哪个文件更新了,更新了多长时间
我正在尝试创建一个文件日期比较的程序。我觉得我现在的方法有点笨拙。
我发现很难找到关于时间差(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日以来的秒数,为什么还要创建一个新的表示方式呢?你可以直接从这个秒数计算出时间差或者其他的东西,为什么要发明一个新的格式呢?