bubbleeee

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
# -*- coding:utf-8 -*-
# 实现自动保留ctime最近的几个文件

import os


def rm_backup(files_list, days):
"""
删除文件列表中的时间最早的文件
:param files_list: 文件列表
:param days:保留天数
"""
dic = {}
for i in files_list:
all_path = i
ctime = os.path.getctime(all_path)
dic[all_path] = ctime
all_path_ctime_list = sorted(dic.items(), key=lambda item: item[1])
if len(all_path_ctime_list) <= days:
pass
else:
for i in range(len(all_path_ctime_list) - days):
os.remove(all_path_ctime_list[i][0])


def list_file(prefix, dirs=os.path.abspath('.'), res=None):
"""
查找当前目录下以prefix为前缀的文件路径列表
:param prefix: 前缀名
:param dirs: 查找目录
:param res: 结果
:return: 结果
"""
if res is None:
res = []
for x in os.listdir(dirs):
path = os.path.join(dirs, x)
if os.path.isfile(path) and os.path.splitext(x)[0].startswith(prefix):
res.append(path)
if os.path.isdir(path):
list_file(prefix, path, res)
return res


rm_paths = list_file("valid_content")
rm_backup(rm_paths, 3)

 

posted on 2021-10-09 17:41  bubbleeee  阅读(703)  评论(0编辑  收藏  举报