Python:删除特定年龄的文件

时间:2010-07-27 16:56:04

标签: python

所以目前我正在尝试删除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()

2 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:6)

那是因为somefile是一个字符串,一个相对文件名。你需要做的是构造文件的完整路径(即绝对路径),你可以使用os.path.join函数,并将其传递给os.stat,返回值将具有属性st_mtime,它将所需的值包含为整数。