Python: Deleting files of a certain age
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.
精彩评论