# 原始文件名字 randomList = [] for jpgname in imageList: filename = jpgname.replace('.jpg', '') randomList.append(filename)
np.random.shuffle(randomList)
# 创建文件夹 localtime = time.asctime() localtime = localtime.replace(' ', '-').replace(':','-') # 一级目录 os.makedirs('./dataSet-'+localtime, exist_ok=True) # 二级目录 for i in ['train', 'val', 'test']: os.makedirs('./dataSet-'+localtime+'/'+i, exist_ok=True) # 三级目录 for j in ['images', 'labels']: os.makedirs('./dataSet-'+localtime+'/'+i+'/'+j, exist_ok=True)
# shutil.copy(src_file, target_path) # 文件的复制操作 # images复制 for imagefileTrain in randomList[0:trainNum]: shutil.copy(imagePath+imagefileTrain+'.jpg', './dataSet-'+localtime+'/train/images/'+imagefileTrain+'.jpg') for imagefileVal in randomList[trainNum: trainNum+valNum]: shutil.copy(imagePath+imagefileVal+'.jpg', './dataSet-'+localtime+'/val/images/'+imagefileVal+'.jpg')
for imagefileTest in randomList[trainNum+valNum:]: shutil.copy(imagePath+imagefileTest+'.jpg', './dataSet-'+localtime+'/test/images/'+imagefileTest+'.jpg')
# txt文件复制 for txtfileTrain in randomList[0:trainNum]: shutil.copy(txtPath+txtfileTrain+'.txt', './dataSet-'+localtime+'/train/labels/'+txtfileTrain+'.txt') for txtfileVal in randomList[trainNum: trainNum+valNum]: shutil.copy(txtPath+txtfileVal+'.txt', './dataSet-'+localtime+'/val/labels/'+txtfileVal+'.txt')
for txtfileTest in randomList[trainNum+valNum:]: shutil.copy(txtPath+txtfileTest+'.txt', './dataSet-'+localtime+'/test/labels/'+txtfileTest+'.txt')