import os
import shutil
def 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_folder
end_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
参数来指定拆分成的文件夹数量。
注意:在运行程序之前,请确保已经备份了原始图片文件,以防止意外情况发生。