从多个文件夹中随机抽取一定数量的图片放到一个文件夹里边 ,python实现
时间: 2023-06-05 19:09:15 浏览: 441
python实现将文件夹内的每张图片批量分割成多张
5星 · 资源好评率100%
这是一道编程问题,属于技术范畴,我可以回答。
可以使用Python中的os、random、shutil模块来实现从多个文件夹中随机抽取一定数量的图片放到一个文件夹里边的功能。具体步骤如下:
1. 使用os模块定位到所有的待抽取图片所在的文件夹。
2. 使用os.walk()函数遍历目录,获取文件夹和文件路径。
3. 使用random.sample()函数从所有的文件路径中随机选择一定数量的路径。
4. 使用shutil.copy()函数将选出来的文件路径复制到指定文件夹中。
代码示例如下:
```
import os
import random
import shutil
# 待抽取图片所在的文件夹路径
folders = ['./folder1', './folder2']
# 抽取多少张图片
num_to_select = 10
# 将图片复制到哪个文件夹
output_folder = './selected_images'
# 获取所有待抽取图片的路径
all_files = []
for folder in folders:
for path, _, files in os.walk(folder):
for file in files:
all_files.append(os.path.join(path, file))
# 随机抽取一定数量的图片路径
selected_files = random.sample(all_files, num_to_select)
# 将选出的图片复制到指定文件夹中
if not os.path.exists(output_folder):
os.mkdir(output_folder)
for file in selected_files:
shutil.copy(file, output_folder)
```
注意:代码中的路径和数量可以根据实际情况进行修改。
阅读全文