需求:需要定时删除30天前的文件夹
思路:1、先遍历指定目录,找出所有文件夹,放进列表里
2、遍历列表,获取创建的时间,并转化为int类型,进行时间比较,符合的删除即可
import os
import datetime, time
import shutil
dest_dir = "D:\\Download"
all_dir = []
for f in list(os.listdir(dest_dir)):
dir = "{}\\{}".format(dest_dir, f)
if os.path.isdir(dir):
all_dir.append(dir)
for i in range(len(all_dir)):
dir_create_time = time.strftime("%Y%m%d", time.localtime(os.path.getctime(all_dir[i])))
now_time = time.strftime("%Y%m%d", time.localtime())
del_time = datetime.date.today() - datetime.timedelta(days=30)
del_time_str = del_time.strftime("%Y%m%d")
if int(dir_create_time) < int(del_time_str):
shutil.rmtree(all_dir[i])
print("已删除文件夹 {}".format(all_dir[i]))