将图片批量放入多个文件夹
时间: 2023-07-16 22:15:56 浏览: 360
可以使用Python的Pillow库和os库来实现将图片批量放入多个文件夹的操作。具体步骤如下:
1. 导入Pillow库和os库:
```python
from PIL import Image
import os
```
2. 定义一个函数,用于将图片批量放入多个文件夹:
```python
def split_images_to_folders(input_dir, output_dir, num_folders):
# 获取目录下所有图片文件的路径列表
image_paths = [os.path.join(input_dir, f) for f in os.listdir(input_dir) if f.endswith('.jpg') or f.endswith('.jpeg') or f.endswith('.png')]
# 计算每个文件夹应该包含的图片数量
images_per_folder = len(image_paths) // num_folders
# 创建输出文件夹
for i in range(num_folders):
folder_path = os.path.join(output_dir, f'folder_{i+1}')
os.makedirs(folder_path, exist_ok=True)
# 将图片分配到不同的文件夹中
for i, image_path in enumerate(image_paths):
folder_index = i // images_per_folder
folder_path = os.path.join(output_dir, f'folder_{folder_index+1}')
image = Image.open(image_path)
image.save(os.path.join(folder_path, os.path.basename(image_path)))
```
这个函数接受三个参数:输入文件夹路径、输出文件夹路径和文件夹数量。它会将输入文件夹下的所有图片文件按照均匀分配的方式放入指定数量的输出文件夹中。
3. 调用函数并传入参数:
```python
input_dir = 'path/to/input/folder'
output_dir = 'path/to/output/folder'
num_folders = 5
split_images_to_folders(input_dir, output_dir, num_folders)
```
这个例子将输入文件夹中的图片分配到5个输出文件夹中。你需要将`'path/to/input/folder'`替换成你的输入文件夹路径,将`'path/to/output/folder'`替换成你的输出文件夹路径。
阅读全文