千家信息网

怎么用python实现自动清理文件夹旧文件

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,今天小编给大家分享一下怎么用python实现自动清理文件夹旧文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,
千家信息网最后更新 2025年01月20日怎么用python实现自动清理文件夹旧文件

今天小编给大家分享一下怎么用python实现自动清理文件夹旧文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

由于程序一直在不停地存图,因此需要监测图片文件夹的大小,一旦超过指定大小则删除一部分最早的图片。

采用开线程的方式,在线程里每隔一段时间键执行一次监测过程。

即 测文件夹大小->若超过则将文件夹里的文件按最后修改时间排序->删除一些最早的图片->删的过程中监测文件夹大小是否符合要求

# -*- coding: utf-8 -*- # # 开线程检测文件夹大小,超过指定大小,则按文件最后修改时间排序并删除一部分旧图片# 在线程里每隔一段时间检测一次# import osimport threadingimport 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()

以上就是"怎么用python实现自动清理文件夹旧文件"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0