开发者

Python: Deleting files of a certain age

开发者 https://www.devze.com 2023-01-09 06:35 出处:网络
So at the moment I\'m trying to delete files listed in the directory that are 1 minute old, I will change that value once I have the script working.

So at the moment I'm trying to delete files listed in the directory that are 1 minute old, I will change that value once I have the script working.

The code below returns the error: 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(fold开发者_如何学Cer):
    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


That's because somefile is a string, a relative filename. What you need to do is to construct the full path (i.e., absolute path) of the file, which you can do with the os.path.join function, and pass it to the os.stat, the return value will have an attribute st_mtime which will contain your desired value as an integer.

0

精彩评论

暂无评论...
验证码 换一张
取 消