python-按指定文件名前缀查找文件并保留n个最新文件


# -*- 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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM