码迷,mamicode.com
首页 > 编程语言 > 详细

python脚本删除n天前文件可用于windows,linux并且支持跨平台

时间:2018-11-21 12:29:04      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:参考   目录   工作   文件   path   递归   blog   windows   std   

脚本如下:

#!/usr/local/python/bin/python
# -*-coding=utf8 -*-
import time
import os, sys

# 设置删除多少天前的文件
N = 3
#要删除路径
path = r‘/tmp/wry/abc‘

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
            # 设置删除多久之前的文件
            endfiletime = time.time() - 3600 * 24 * N
            if endfiletime > lastmodifytime:
                #if filename[-4:] == ".log":
                os.remove(filename)
                print "删除文件 %s 成功" % filename
        # 如果是目录则递归调用当前函数
        elif os.path.isdir(filename):  
            deletefile(filename)

if __name__ == ‘__main__‘:
    deletefile(path)

运行效果如下:

在windows下运行python需要脚本,主要修改输出字符,否则为乱码:

#!/usr/local/python/bin/python
# -*-coding=utf8 -*-
import time
import os, sys

#设置删除多少天前的文件
N = 3  
path = r"E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试".decode(‘utf-8‘).encode(‘GB2312‘)

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
            #设置删除多久之前的文件
            endfiletime = time.time() - 3600 * 24 * N  
            if endfiletime > lastmodifytime:
                #if filename[-4:] == ".log":
                os.remove(filename)
                print "删除文件 %s 成功".decode(‘utf-8‘).encode(‘GB2312‘) % filename
        #如果是目录则递归调用当前函数
        elif os.path.isdir(filename):  
            deletefile(filename)

if __name__ == ‘__main__‘:
    deletefile(path)

输出结果如下

删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\2\_应用架构设计 V1.1.docx 成功
删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\2\运维信息表.xlsx 成功
删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\2\新建文件夹\应用架构设计 V1.1.docx 成功
删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\2\新建文件夹\启停文档.xlsx 成功
删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\2\启停文档.xlsx 成功
删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\应用架构设计 V1.1.docx 成功
删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\运维信息表.xlsx 成功
删除文件 E:\0工作\02日常工作\linux脚本\删除N天前脚本\测试\abc\运维知识库启停文档.xlsx 成功

参考:python 删除2天前后缀为.log的文件
python删除N天前文件

python脚本删除n天前文件可用于windows,linux并且支持跨平台

标签:参考   目录   工作   文件   path   递归   blog   windows   std   

原文地址:http://blog.51cto.com/weiruoyu/2319806

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!