怎样用python写自动清理文件的功能?
发布时间:2022-03-09 13:42:49 所属栏目:语言 来源:互联网
导读:这篇文章给大家分享的是有关用python实现自动清理文件的功能的内容,文件夹中的很多旧文件常常容易被忽视,我们通过自动清理文件的功能就能不费事的清理这些文件,释放空间。小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧。 由于程序
|
这篇文章给大家分享的是有关用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() (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


