Таким образом, в данный момент я пытаюсь удалить файлы, перечисленные в каталоге, которые составляют 1 старую минуту, я изменю то значение, после того как у меня есть работа сценария.
Код ниже возвращает ошибку: AttributeError: 'str' object has no attribute 'mtime'
import time
import os
#from path import path
seven_days_ago = time.time() - 60
folder = '/home/rv/Desktop/test'
for somefile in os.listdir(folder):
if int(somefile.mtime) < seven_days_ago:
somefile.remove()
import time
import os
one_minute_ago = time.time() - 60
folder = '/home/rv/Desktop/test'
os.chdir(folder)
for somefile in os.listdir('.'):
st=os.stat(somefile)
mtime=st.st_mtime
if mtime < one_minute_ago:
print('remove %s'%somefile)
# os.unlink(somefile) # uncomment only if you are sure
Это потому, что somefile
- это строка, относительное имя файла. Вам нужно построить полный путь (т.е. абсолютный путь) к файлу, что можно сделать с помощью функции os.path.join
, и передать его в os.stat
, возвращаемое значение будет иметь атрибут st_mtime
, который будет содержать желаемое значение в виде целого числа.