python 删除指定文件夹中 小于特定数量文件的子文件夹。

如下图想删除 train文件夹中 小于10个文件的子文件夹

python 删除指定文件夹中 小于特定数量文件的子文件夹。_python

import json
import shutil
import os



#统计一个文件夹中items的数量
def count_items_in_folder(folder_path):
    count = 0
    for root, dirs, files in os.walk(folder_path):
        count += len(dirs)
        count += len(files)
    return count

# 删除train 中 小于10个文件的文件。
def delete_small_folders(folder_path, min_size=50):
    # 获取文件夹中的所有文件和文件夹
    items = os.listdir(folder_path)
    # 遍历文件夹中的所有文件和文件夹
    for item in items:
        # 获取文件的完整路径
        item_path = os.path.join(folder_path, item)
        print("item_path=",item_path)
        # 检查是否为文件夹
        if os.path.isdir(item_path):
            item_count = count_items_in_folder(item_path)
            print(f"文件夹 '{item_path}' 中有 {item_count} 个项目。")
            if item_count < min_size:
                print(f"文件夹 '{item_path}' 太小,将被删除。")
                if os.path.exists(item_path):
                    shutil.rmtree(item_path)
                    print(f"文件夹 '{item_path}' 已成功删除。")


src_train_folders="/xxxx/tt100k_2021/classify/train"


delete_small_folders(src_train_folders,10)