删除指定路径下,指定时间的文件

 #Path #需要清空的文件夹

#daysago  日期

 

import os, datetime,sys
reload(sys)
sys.setdefaultencoding('utf8')
dirToBeEmptied = Path #需要清空的文件夹
daysago=int(daysago)
ds = list(os.walk(dirToBeEmptied)) #获得所有文件夹的信息列表
delta = datetime.timedelta(days=daysago) #设定daysago天前的文件为过期
now = datetime.datetime.now() #获取当前时间
for d in ds: #遍历该列表
os.chdir(d[0]) #进入本级路径,防止找不到文件而报错
if d[2] != []: #如果该路径下有文件
for x in d[2]: #遍历这些文件
mtime = datetime.datetime.fromtimestamp(os.stat(x).st_mtime) #获取文件修改时间
if mtime < (now-delta): #若创建于delta天前
os.remove(x) #则删掉
print('Delete file{}| mtime:{}'.format(str(x),str(mtime)))
# print('删除文件:'+ x + '|文件创建时间:' + str(mtime))

os.chdir(dirToBeEmptied)
try:
for s in ds:
if s[1] == [] and s[2] == []:
os.rmdir(s[0])
print('删除空文件夹:'+ str(s[0]))
except (WindowsError,):
print(str(s[0])+'删除失败,文件夹正在被使用')

上一篇:Linux 根据名字搜索文件 find命令


下一篇:MacOS下为golang配置Protobuf