层次遍历文件夹使子文件夹中的图片只保留10张

import os
import random
import shutil

def select_random_files(folder_path, num_files_to_keep):
    file_list = os.listdir(folder_path)
    files_to_delete = set(file_list) - set(random.sample(file_list, num_files_to_keep))
    for file_name in files_to_delete:
        file_path = os.path.join(folder_path, file_name)
        if os.path.isfile(file_path):
            os.remove(file_path)
        elif os.path.isdir(file_path):
            shutil.rmtree(file_path)

root_folder_path = 'xxxx'  # 需要处理的文件夹根目录
num_files_to_keep = 10  # 需要留下的文件数量

for subdir, dirs, files in os.walk(root_folder_path):
    for dir_name in dirs:
        subdir_path = os.path.join(subdir, dir_name)
        select_random_files(subdir_path, num_files_to_keep)

猜你喜欢

转载自blog.csdn.net/qq_43663979/article/details/130041386