Python清理下载文件夹

软件开发大郭
0 评论
/
20 阅读
/
1793 字
19 2022-12
分类:

核心功能 - 清理下载文件夹

世界上最混乱的事情之一是开发人员的下载文件夹,里面存放了很多杂乱无章的文件,此脚本将根据大小限制来清理您的下载文件夹,有限清理比较旧的文件。

实现代码

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))) 
    return dir_list 
   
def get_size(file_path): 
    """[summary] 
    Args: 
        file_path ([type]): [目录] 
  
    Returns: 
        [type]: 返回目录大小,MB 
    """
    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
   
def detect_file_size(file_path, size_Max, size_Del): 
    """[summary] 
    Args: 
        file_path ([type]): [文件目录] 
        size_Max ([type]): [文件夹最大大小] 
        size_Del ([type]): [超过size_Max时要删除的大小] 
    """
    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]) 
      
   
def detectFileSize(): 
 #检测线程,每个5秒检测一次 
    while True: 
        print('======detect============') 
        detect_file_size("/Users/aaron/Downloads/", 100, 30) 
        time.sleep(5) 
    
if __name__ == "__main__": 
    #创建检测线程 
    detect_thread = threading.Thread(target = detectFileSize) 
    detect_thread.start()
    暂无数据