【问题标题】:Python: Deleting files of a certain agePython:删除特定年龄的文件
【发布时间】:2010-07-27 16:56:04
【问题描述】:

因此,目前我正在尝试删除目录中列出的 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()

【问题讨论】:

    标签: python


    【解决方案1】:
    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
    

    【讨论】:

    • os.path.getmtime(somefile) 更简洁,也可以代替os.stat(somefile).st_mtime
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-04
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      • 2017-09-24
      相关资源
      最近更新 更多