python脚本删除n天前文件可用于windows,linux并且支持跨平台
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python脚本删除n天前文件可用于windows,linux并且支持跨平台相关的知识,希望对你有一定的参考价值。
脚本如下:
#!/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: 工作 2日常工作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: 工作 2日常工作linux脚本删除N天前脚本测试abc2\_应用架构设计 V1.1.docx 成功
删除文件 E: 工作 2日常工作linux脚本删除N天前脚本测试abc2运维信息表.xlsx 成功
删除文件 E: 工作 2日常工作linux脚本删除N天前脚本测试abc2新建文件夹应用架构设计 V1.1.docx 成功
删除文件 E: 工作 2日常工作linux脚本删除N天前脚本测试abc2新建文件夹启停文档.xlsx 成功
删除文件 E: 工作 2日常工作linux脚本删除N天前脚本测试abc2启停文档.xlsx 成功
删除文件 E: 工作 2日常工作linux脚本删除N天前脚本测试abc应用架构设计 V1.1.docx 成功
删除文件 E: 工作 2日常工作linux脚本删除N天前脚本测试abc运维信息表.xlsx 成功
删除文件 E: 工作 2日常工作linux脚本删除N天前脚本测试abc运维知识库启停文档.xlsx 成功
参考:python 删除2天前后缀为.log的文件
python删除N天前文件
以上是关于python脚本删除n天前文件可用于windows,linux并且支持跨平台的主要内容,如果未能解决你的问题,请参考以下文章
使用Python批量删除windows下特定目录的N天前的旧文件实战:Windows下批量删除旧文件清除缓存文件解救C盘拒绝C盘爆炸