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