You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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,提问作者황인성

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:09:01