本文共 2081 字,大约阅读时间需要 6 分钟。
脚本如下:
#!/usr/local/python/bin/python# -*-coding=utf8 -*-import timeimport 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 timeimport 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 成功
参考:
转载于:https://blog.51cto.com/weiruoyu/2319806