本篇文章小编给大家分享一下python实现自动清理文件夹旧文件代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
由于程序一直在不停地存图,因此需要监测图片文件夹的大小,一旦超过指定大小则删除一部分最早的图片。
采用开线程的方式,在线程里每隔一段时间键执行一次监测过程。
即 测文件夹大小->若超过则将文件夹里的文件按最后修改时间排序->删除一些最早的图片->删的过程中监测文件夹大小是否符合要求
# -*- coding: utf-8 -*- # # 开线程检测文件夹大小,超过指定大小,则按文件最后修改时间排序并删除一部分旧图片 # 在线程里每隔一段时间检测一次 # import os import threading import time #文件按最后修改时间排序 def get_file_list(file_path): dir_list = os.listdir(file_path) if not dir_list: return else: dir_list = sorted(dir_list, key=lambda x: os.path.getmtime(os.path.join(file_path, x))) #print(dir_list) return dir_list #获取文件夹大小 def get_size(file_path): totalsize=0 for filename in os.listdir(file_path): totalsize=totalsize+os.path.getsize(os.path.join(file_path, filename)) #print(totalsize / 1024 / 1024) return totalsize / 1024 / 1024 # 1文件目录 2文件夹最大大小(M) 3超过后要删除的大小(M) def detect_file_size(file_path, size_Max, size_Del): print(get_size(file_path)) if get_size(file_path) > size_Max: fileList = get_file_list(file_path) for i in range(len(fileList)): if get_size(file_path) > (size_Max - size_Del): print ("del :%d %s" % (i + 1, fileList[i])) os.remove(file_path + fileList[i]) #检测线程,每个5秒检测一次 def detectPicSize(): while True: print('======detect============') detect_file_size("../pic/", 30, 5) time.sleep(5) if __name__ == "__main__": #创建检测线程 detect_thread = threading.Thread(target = detectPicSize) detect_thread.start()
庇护所的日子 安卓版v15.0.5
庇护所的日子是一款像素画风的冒险游戏,场景制作细腻,玩家们需
梦想城镇华为版 安卓最新版v12.1.0
梦想城镇华为版是一款玩法非常丰富的模拟经营类手游,玩家将在一
胡椒大厨去广告 最新版v1.4.134
胡椒大厨去广告是一款非常好玩的模拟经营类游戏,玩家在这里可以
谁是首富红包版 安卓版v1.0.59
谁是首富红包版是游戏的特殊版本,为游戏加入了掉红包的功能,为
梦想超市旧版本 安卓版v3.2.5
梦想超市旧版本,这是一款玩法独特的模拟经营手游,由合肥乐堂动