import os
import shutildef split_images(input_folder, output_folder, num_folders):# 获取输入文件夹中的所有图片文件image_files = [f for f in os.listdir(input_folder) if f.endswith('.jpg') or f.endswith('.png')]# 计算每个输出文件夹应包含的图片数量images_per_folder = len(image_files) // num_folders# 创建输出文件夹os.makedirs(output_folder, exist_ok=True)# 拆分图片到不同的输出文件夹中for i in range(num_folders):folder_name = f"Folder_{i+1}"folder_path = os.path.join(output_folder, folder_name)os.makedirs(folder_path, exist_ok=True)# 选择要移动的图片范围start_idx = i * images_per_folderend_idx = (i + 1) * images_per_folder# 将选定的图片移动到目标文件夹for j in range(start_idx, end_idx):image_file = image_files[j]src_path = os.path.join(input_folder, image_file)dst_path = os.path.join(folder_path, image_file)shutil.move(src_path, dst_path)print(f"Moved {images_per_folder} images to {folder_name}")print("Splitting images completed.")# 调用函数进行拆分
input_folder = 'input_folder' # 输入文件夹路径
output_folder = 'output_folder' # 输出文件夹路径
num_folders = 4 # 拆分为多少个文件夹split_images(input_folder, output_folder, num_folders)
请确保将上述代码中的input_folder
替换为你实际存放图片的文件夹路径,将output_folder
替换为你希望输出文件夹的路径。同时,你可以调整num_folders
参数来指定拆分成的文件夹数量。
注意:在运行程序之前,请确保已经备份了原始图片文件,以防止意外情况发生。