删除过期文件或文件夹

import os
import datetime
import shutil

def clean_old_files_and_folders(directory_path, days_threshold=2):
    """
    清理目录中超过指定天数阈值的文件和文件夹。

    参数:
    directory_path (str): 要清理的目录路径。
    days_threshold (int): 天数阈值,文件和文件夹超过此阈值将被删除。默认值为2天。
    """

    current_datetime = datetime.datetime.now()

    for item in os.listdir(directory_path):
        item_path = os.path.join(directory_path, item)

        if os.path.isfile(item_path):
            file_created_time = datetime.datetime.fromtimestamp(os.path.getctime(item_path))
            days_since_creation = (current_datetime - file_created_time).days

            if days_since_creation > days_threshold:
                os.remove(item_path)
                print(f"Deleted file: {item_path}")

        elif os.path.isdir(item_path):
            folder_created_time = datetime.datetime.fromtimestamp(os.path.getctime(item_path))
            days_since_creation = (current_datetime - folder_created_time).days

            if days_since_creation > days_threshold:
                shutil.rmtree(item_path)
                print(f"Deleted folder: {item_path}")


if __name__ == '__main__':

    # 示例用法
    directory_to_clean = 'D:\mrp_rpa_bak'
    clean_old_files_and_folders(directory_to_clean)

你可能感兴趣的:(笔记,java,前端,服务器)