Python/Python - 파일
지정한 디렉토리의 파일을 특정 비율로 나누어 2개의 디렉토리에 저장하기
webnautes
2024. 3. 16. 07:51
반응형
지정한 디렉토리의 파일을 특정 비율로 나누어 2개의 디렉토리에 저장하는 예제 코드입니다.
2024. 3. 16 최초작성
import os import shutil import random def split_and_copy_files(src_folder, dest_folder1, dest_folder2, ratio=0.2): # 지정한 경로 src_folder로부터 파일 목록을 가져옵니다. 지정한 경로에 파일들이 하위 폴더로 구분이 안되어있다고 가정합니다. files = [f for f in os.listdir(src_folder) if os.path.isfile(os.path.join(src_folder, f))] # 파일 경로가 저장된 리스트를 뒤섞습니다. random.shuffle(files) # 지정한 비율로 인덱스를 계산합니다. split_idx = int(ratio * len(files)) # 인덱스를 사용하여 파일 리스트를 두개로 분리합니다. files_to_dest1 = files[:split_idx] files_to_dest2 = files[split_idx:] # 폴더를 생성합니다. os.makedirs(dest_folder1, exist_ok=True) os.makedirs(dest_folder2, exist_ok=True) # 파일을 복사합니다. for f in files_to_dest1: shutil.copy2(os.path.join(src_folder, f), os.path.join(dest_folder1, f)) for f in files_to_dest2: shutil.copy2(os.path.join(src_folder, f), os.path.join(dest_folder2, f)) src = './esc-50-audio' dest1 = 'esc-50-audio_test' dest2 = 'esc-50-audio_train' split_and_copy_files(src, dest1, dest2, ratio=0.2) |
반응형