python 删除指定文件夹中 小于特定数量文件的子文件夹。
如下图想删除 train文件夹中 小于10个文件的子文件夹
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)