Python_测试集制作:从一个文件夹中随机抽取一定量的图片和同名label.txt文件并移动到另一个文件夹中

import os
import random
import shutil
import sys


def movefile(filedir, tardir):
    pathdir = os.listdir(filedir)  # 取数据集的原始路径
    filenumber = len(pathdir)
    rate = 0.5  # 自定义抽取数据集的比例,比方说1000张抽100张,那就是0.1
    picknumber = int(filenumber * rate)  # 按照rate比例从数据集中取一定数量文件
    samples = random.sample(pathdir, picknumber)  # 随机选取picknumber数量的文件
    count = 0 #计数变量
    for sample in samples:# 当前目录下选取的数据
        if sample.endswith(".jpg"): # 查看选取的是否是jpg图片
            shutil.move(filedir + sample, tardir + sample)
            shutil.move(filedir + os.path.splitext(sample)[0] + '.txt', tardir + os.path.splitext(sample)[0] + '.txt')
            count += 1
        if(count / 0.1 > filenumber): # 移动的图片已经超过总数据集的10%,跳出
            break
    return


if __name__ == '__main__':
    filedir = "/XXX/XXXXXX/"  # 源数据集文件夹路径
    tardir = '/XXX/XXX/XXX/'  # 移动到新的文件夹路径
    movefile(filedir, tardir)

你可能感兴趣的:(Python,python,深度学习,机器学习,测试集制作,大数据)