Python脚本——将一个文件夹下的文件划分到不同文件夹

本文介绍了一种Python脚本,用于将Pascal格式的目标检测数据集按照train.txt和val.txt文件指示,自动复制对应的Annotations到训练集和验证集的文件夹中,适用于RetinaNet等模型的训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 目标检测中,将pascal格式的数据标签Annotations按照train.txt、val.txt分成对应的文件夹
# 用在retinanet中的训练集和验证集


 

import os
import shutil

def split_file(src_file_path, dst_file, dst_file_path):
    file = open(dst_file, 'r').readlines()
    for line in file:
        line = line.strip('\n')
        src_file_name = src_file_path + '{}.xml'.format(line)

        if not os.path.isfile(src_file_name):
            print("%s not exist !!!"%(src_file_name))
        else:
            dst_file_name = dst_file_path + '{}.xml'.format(line)
            shutil.copyfile(src_file_name,dst_file_name)
            print("copy %s -->> %s"%(src_file_name, dst_file_name))


if __name__ == '__main__':
    src_path = '/data/Annotations/'
    train_path = '/data/train_set/'
    val_path = '/data/val_set/'
    train_file = '/data/ImageSets/Main/train.txt'
    val_file = '/data/ImageSets/Main/val.txt'
    split_file(src_path, train_file, train_path)
    split_file(src_path, val_file, val_path)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值