67rt 发表于 2016-9-2 09:14:08

python根据文件更改日期删除指定文件夹下面文件

经过一天的尝试,终于写了一个脚本,清理日志文件,源代码如下:
#!/usr/bin/python
#-*-coding=utf8 -*-
import time
import os

N = 1   #设置删除多少天钱的文件
def deletefile(path):
    for eachfile in os.listdir(path):
      filename = os.path.join(path,eachfile)
      if os.path.isfile(filename):
            lastmodifytime = os.stat(filename).st_mtime
            print '======================'
            print "当前时间是: %s" % time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
            print "%s 文件的最后修改时间是: %s" % (filename,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(lastmodifytime)))
            print "%s 文件的创建时间是: %s" % (filename,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(os.stat(filename).st_ctime)))
            endfiletime = time.time() - 3600 * 24 * N #设置删除多久之前的文件
            print "删除文件的截至时间是: %s" % time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(endfiletime))
            if endfiletime > lastmodifytime:
                print "我要删除文件 : %s" % filename
                os.remove(filename)
      elif os.path.isdir(filename):   #如果是目录则递归调用当前函数
            deletefile(filename)

if __name__ == '__main__':
    path = r"D:\python_script\log"#指定删除的目录位置
    deletefile(path)
备注:其中print的可以注释掉,避免输出到控制台,由于这个是在windows中使用pycharm编辑的,直接放到linux中可能出现汉字乱码的情况,请调整linux字符集或者将汉字自己换成英文即可

页: [1]
查看完整版本: python根据文件更改日期删除指定文件夹下面文件