在源文件夹下的多个子文件夹中随机抽取五张图片,保存到另一个源文件夹下紫文件夹数量和名称不变

该Python函数从源文件夹中的所有子文件夹随机选择指定数量的图片,创建对应的子文件夹结构,并将这些图片复制到目标文件夹。使用os模块遍历文件系统,random模odule进行随机选择,以及shutil模块复制文件。
摘要由CSDN通过智能技术生成

import os
import random
import shutil

def random_sample_images(source_folder, destination_folder, num_samples=5):
    # 遍历源文件夹下的子文件夹
    for root, dirs, files in os.walk(source_folder):
        # 创建对应的目标文件夹
        destination_subfolder = os.path.join(destination_folder, os.path.relpath(root, source_folder))
        os.makedirs(destination_subfolder, exist_ok=True)
        
        # 随机抽取 num_samples 张图片
        sampled_files = random.sample(files, min(num_samples, len(files)))
        
        # 将抽取的图片复制到目标文件夹
        for file in sampled_files:
            source_path = os.path.join(root, file)
            destination_path = os.path.join(destination_subfolder, file)
            shutil.copy(source_path, destination_path)

# 指定源文件夹和目标文件夹路径
source_folder = '/path/to/source/folder'
destination_folder = '/path/to/destination/folder'

# 调用函数进行随机抽取和保存图片
random_sample_images(source_folder, destination_folder, num_samples=5)
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值