当我们分好数据集后,但是标签没有分,此时这份代码就派上用场了,根据数据集分标签

当我们分好数据集后,但是标签没有分,此时这份代码就派上用场了,根据数据集分标签

不多说,直接贴代码


```clike
from pathlib import Path
import  os
import shutil
def get_all_files_with_pathlib(folder_path):
    path = Path(folder_path)
    all_files = [str(file) for file in path.rglob('*') if file.is_file()]
    return all_files

# 示例使用
folder_path = 'E:1\\label'
files = get_all_files_with_pathlib(folder_path)

train_folder = 'E:image\\train'
# train_files = [os.path.splitext(f)[0] + '.jpg' for f in os.listdir(train_folder) if os.path.isfile(os.path.join(train_folder, f))]
train_files = get_all_files_with_pathlib(train_folder)

test_folder = 'E:1\\image\\test'
# test_files = [os.path.splitext(f)[0] + '.jpg' for f in os.listdir(test_folder) if os.path.isfile(os.path.join(train_folder, f))]
test_folder = get_all_files_with_pathlib(test_folder)

val_folder = 'E:1\\image\\val'
# val_files = [os.path.splitext(f)[0] + '.jpg' for f in os.listdir(val_folder) if os.path.isfile(os.path.join(train_folder, f))]
val_folder = get_all_files_with_pathlib(val_folder)

target_folder1 = 'E:1\\label1\\train'
target_folder2 = 'E:1\\label1\\test'
target_folder3 = 'E:1\\label1\\val'

for file in files:
    file_name = file.split('\\')[-1].rsplit('.', 1)[0]
    print(file)
    file_name1 = 'E:1\\image\\train\\' + file_name
    if file_name1 in train_files:
        # 如果存在,将文件复制到目标文件夹
        if not os.path.exists(target_folder1):
            os.makedirs(target_folder1)
        shutil.copy2(file, os.path.join(target_folder1, os.path.basename(file)))
        continue
    file_name2 = 'E:1\\image\\test\\' + file_name
    if file_name2 in test_folder:
        # 如果存在,将文件复制到目标文件夹
        if not os.path.exists(target_folder2):
            os.makedirs(target_folder2)
        shutil.copy2(file, os.path.join(target_folder2, os.path.basename(file)))
        continue

    file_name3 = 'E:1\\image\\val\\' + file_name
    if file_name3 in val_folder:
        # 如果存在,将文件复制到目标文件夹
        if not os.path.exists(target_folder3):
            os.makedirs(target_folder3)
        shutil.copy2(file, os.path.join(target_folder3, os.path.basename(file)))
        continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值