在某文件夹查找以日期命名的目录,如果早已目标时间则删除之

import os
import re
import time
from  datetime import datetime

def findFolders(folders): # 找符合格式的目录
    pattern=re.compile(r'(\d{4})-(\d{2})-(\d{2})-b(\d{3})')
    for root,dirs,files in os.walk(r"/home/os-hy01"):
       for dir in dirs:
         if pattern.match(dir):
             folders.append(dir) #符合格式放入列表

folders=[]
findFolders(folders)

for it in folders: #遍历列表
    dates=it.split('-')
    date=dates[0]+'-'+dates[1]+'-'+dates[2] #得到代表日期的字符串
    folderTime = datetime.strptime(date, '%Y-%m-%d') #目录时间

    targetTime=datetime.strptime('2020-01-01','%Y-%m-%d') #目标时间
    diff=targetTime-folderTime #用目标时间减去目录时间
    
    if diff.days>0: #如果差异天数大于零(即目录时间早于目标时间)
       os.rmdir(it) #则删除该目录

 

posted @ 2020-03-16 16:13  逆火狂飙  阅读(280)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东