Мне нужен мой script для загрузки нового файла, если старый достаточно старый. Я установил максимальный возраст файла за считанные секунды. Так что я вернусь в нужное русло с записью script, мне нужен пример кода, где возраст файла печатается в секундах.
Печатать возраст файла в секундах с помощью Python
Ответ 1
Показывает, как найти время последней модификации файла (или каталога):
Вот количество секунд с момента Epoch, используя os.stat
import os
st=os.stat('/tmp')
mtime=st.st_mtime
print(mtime)
# 1325704746.52
Или, эквивалентно, используя os.path.getmtime:
print(os.path.getmtime('/tmp'))
# 1325704746.52
Если вы хотите объект datetime.datetime:
import datetime
print("mdatetime = {}".format(datetime.datetime.fromtimestamp(mtime)))
# mdatetime = 2012-01-04 14:19:06.523398
Или форматированная строка с использованием time.ctime
import stat
print("last accessed => {}".format(time.ctime(st[stat.ST_ATIME])))
# last accessed => Wed Jan 4 14:09:55 2012
print("last modified => {}".format(time.ctime(st[stat.ST_MTIME])))
# last modified => Wed Jan 4 14:19:06 2012
print("last changed => {}".format(time.ctime(st[stat.ST_CTIME])))
# last changed => Wed Jan 4 14:19:06 2012
Хотя я этого не показывал, есть эквиваленты для поиска времени доступа и времени изменения для всех этих методов. Просто следуйте ссылкам и найдите "atime" или "ctime".
Ответ 2
Другой подход (я знаю, что я не был первым ответом, но здесь все равно):
import time, os, stat
def file_age_in_seconds(pathname):
return time.time() - os.stat(pathname)[stat.ST_MTIME]
Ответ 3
Используйте stat.M_TIME, чтобы получить последнее измененное время и вычесть его из текущего времени.
Ответ 4
Принятый ответ на самом деле не отвечает на вопрос, он просто дает ответ за время последнего изменения. для получения возраста файла в секундах, минутах или часах вы можете сделать это.
import os, time
def file_age(filepath):
return time.time() - os.path.getmtime(filepath)
seconds = file_age('myFile.txt') # 7200 seconds
minutes = int(seconds) / 60 # 120 minutes
hours = minutes / 60 # 2 hours