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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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字符集或者将汉字自己换成英文即可

本文出自 “董永刚的博客” 博客,请务必保留此出处http://dongyonggang.blog.51cto.com/9784442/1845234

以上是关于python根据文件更改日期删除指定文件夹下面文件的主要内容,如果未能解决你的问题,请参考以下文章

python之删除指定目录指定日期下的日志文件

在Linux中如何删除指定日期之前的一些文件?

linux 按日期删除文件里面的内容,怎么删除

bat文件xcopy指令?

python利用os和getopt实现删除指定文件

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本