반응형
\`#-_\-coding:utf-8-_\-  
#PYTHONIOENCODING=UTF-8  
import os, glob, shutil

rootdir = os.path.join('dataset')  
traindir = os.path.join('train')  
valdir = os.path.join('val')  
for i in glob.glob(os.path.join(rootdir,'_')):  
    for j in glob.glob(os.path.join(i,'_')):  

        foldername = j.split('/')\[-2\]  


        filename = j.split('/')[-1]

        if '4.PNG' in j:
            if not os.path.exists(os.path.join(valdir,foldername)):
                os.mkdir(os.path.join(valdir,foldername))
            shutil.copy(j,os.path.join(valdir,foldername,filename))
        else:
            if not os.path.exists(os.path.join(traindir,foldername)):
                os.mkdir(os.path.join(traindir,foldername))
            shutil.copy(j,os.path.join(traindir,foldername,filename))

그림 1 데이터 셋 구조

목표: 폴더 내 4.PNG를 검증셋, 그 외는 학습 셋으로 분리

1. 폴더명이 한글이기 때문에 utf-8 인코딩 관련 주석 처리

2. os.path.joinglob.glob을 통해 폴더 서치 및 파일 서치

3. os.mkdir([dirname])으로 저장 폴더 생성

4. 파일 명이 4.PNG이면 val 폴더로 복사 shutil.copy(src, dst) 이동: shutil.move(src, dst)

반응형

+ Recent posts