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

经过一天的尝试,终于写了一个脚本,清理日志文件,源代码如下:

#!/usr/bin/python#-*-coding=utf8 -*-import timeimport 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字符集或者将汉字自己换成英文即可

时间: 2024-11-05 09:12:33

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

Jquery配合Asp.Net无刷新删除指定服务器上的文件!

前台单击文件,jQuery删除后台相应真实的文件,包含了2个页面,一个是显示图片的页面,一个是传递文件名,然后删除真实图片的页面.具体的代码如下: ShowPics.htm: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&quo

【linux】find删除指定时间之前的文件

今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 find . -type f -name *.log -mtime +180 -exec rm {} \; 解析: find 后面紧跟的是要查找的目录,. 表示当前目录 -type f:指定查找对象为文件 -name *.log:指定查找对象名称以.log结尾 -mtime +180: 查找180天以前的老文件 -exec r

删除指定目录下过期文件并打印日志

肯定会遇到这样的事,有一个文件夹,每天都在生成文件,那么如何去删除那些过期的文件呢.废话不多说,直接上代码: import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat; public class DeleteFileImpl { //这三个变量也可以在配置文件里面配置,但是需要用到@

FATFS-f_deldir-删除文件夹(删除子文件夹及文件连同其本身)

转载请注明出处:http://blog.csdn.net/u011833609/article/details/47803551 //==================================================================================================== //函 数 名 : f_deldir //函数功能 : 移除一个文件夹,包括其本身和其子文件夹,子文件 //输 入 : const TCHAR *path---指向

遍历目录删除指定MD5值的文件

工作需要实现一个查找出指定目录下md5值与excel表格中md5值相同的文件然后删掉的功能.我是这样做的:首先遍历指定目录,计算该目录下所有文件的md5值,以文件路径为key,md5值为value保存到一个字典中:然后读取excel表格中的md5,查看字典中的value是否包含该md5,如果包含,则删除对应文件.以下是具体实现代码: 1 #coding:utf-8 2 3 from hashlib import md5 4 import os,time,sys 5 import xlrd 6 i

个人笔记:PHP递归删除指定目录下的文件和目录

function DelDir($path){ //给定的目录不是一个文件夹 if(!is_dir($path)){ return null; } // 1 打开目录 $dir =opendir($path); // 去除. 和.. while ($filename =readdir($dir)) { if ($filename =='.' || $filename == '..') { continue; } // 拼接完整路径,不拼接会到当前路径下找 $filepath =$path.'/'

Shell定时删除指定时间之前的文件

模板cat delbak.sh #!/bin/sh location="/root/sqlbak/" find $location -mtime +30 -type f |xargs rm -f ps: location 是设置查找的目录--mtime +30 是设置时间为30天前-type f 这周查找的类型为文件 然后加入crontab定时来删除: crontab -l 10 4 1 * * /bin/sh /root/soft_shell/delbak.sh 设定为每个月1号晚上

删除指定目录下的文件及子文件

1, 所用到主要方法:opendir()   readdir()   unlink()  is_dir()  closedir() 2, 实现过程 function deldir ($dir) { //打开目录 $o_dir = opendir ($dir); //判断这个目录里是否有文件,如果是文件则删除,如果是目录则进入递归 while ($file = readir($o_dir)) { if ($file != '.' && $file != '..') { $dir_file =

gradle 删除指定目录中的文件和目录

// 删除bakAPk下的所有非母包文件 task deleTask(type: Delete){ FileTree tree = fileTree(dir: bakPath) tree.each {File file -> if(!file.toString().contains(oldFileName)){ delete file } } } deleTask // 删除bakAPk目录下的所有非母包的目录和文件 task clearBacApkDir(type: Delete) { fil