Python随机选取文件夹图片并保存到目标路径的代码问题求助
随机选取图片并保存到目标目录的实现方案
修改后的完整代码如下,补充的逻辑即可实现选中图片自动保存到目标目录的需求:
import os, random import numpy import shutil from PIL import Image path = "C:/Users/mark03/Desktop/rmv_1_loan_0908/images" save_path = "C:/Users/mark03/Desktop/rmv_1_loan_0908/random" # 自动创建目标保存目录,目录已存在时也不会报错 os.makedirs(save_path, exist_ok=True) file_list = os.listdir(path) # 可选优化:过滤掉源目录下的子文件夹,仅保留文件,避免选到文件夹导致后续操作报错 file_list = [f for f in file_list if os.path.isfile(os.path.join(path, f))] def selectRandom(file_list): return numpy.random.choice(file_list, 3, replace=False) selected_files = selectRandom(file_list) print("选中的图片文件:", selected_files) # 新增选中文件保存逻辑 for file_name in selected_files: # 拼接源文件完整路径 src_full_path = os.path.join(path, file_name) # 拼接目标保存完整路径 dest_full_path = os.path.join(save_path, file_name) # 方案1:直接复制文件(推荐,速度快,不会损失原图片画质) shutil.copy(src_full_path, dest_full_path) # 方案2:通过PIL读写保存(如果需要同时对图片做裁剪、转格式等处理时使用) # img = Image.open(src_full_path) # img.save(dest_full_path)
核心补充逻辑说明
- 导入
shutil模块用于执行文件复制操作,你也可以根据需求选择PIL读写的方式保存 - 新增
os.makedirs逻辑,自动创建目标保存目录,避免手动创建目录的操作和路径不存在的报错 - 新增遍历选中文件的逻辑,拼接完整的源路径和目标路径后执行保存操作:
os.listdir仅返回文件名,必须拼接父目录才能正确定位文件
内容的提问来源于stack exchange,提问作者황인성
相关产品推荐
相关产品推荐

