[python] shutil 이용해서 파일 복사 붙여넣기

차보경·2022년 8월 29일
1

TIL

목록 보기
14/37
post-custom-banner

진행하다보니

2폴더로 나눠져 있는 데이터를 하나의 파일로 옮겨야하는 상황이 발생했다.

앞으로도 파이썬 코드를 이용해서 파일을 다룰 일이 많을 것 같아
이런저런 검색을 통해 알게 된 내용을 정리해서 올린당~:)

핵심 코드

import shutil

origin_path = r"D:\복사할 파일.png"
destination = r"D:\변경 위치\이동후 파일 이름.png"

shutil.copyfile(origin_path, destination)

작성 코드

import shutil

#하기 경로는 상위 폴더명임 (이 폴더 내에 옮겨야할 파일이 있음)
part_1 = r"/content/drive/MyDrive/SIA_data/train/patr1/json"
part_2 = r"/content/drive/MyDrive/SIA_data/train/part2/labels/json"
destination = r"/content/drive/MyDrive/SIA_data/train/Total/Json"

#for문으로 한번에 처리하기 위해 리스트로 묶음
path_list = [part_1, part_2]

fail_list = []
# for문에서 폴더 변경시 range에서 자동으로 연속되게 하기위한 변수
start = 0

# 폴더 변경 for문
for folder_path in path_list:
    dirListing = os.listdir(folder_path)
    end_num = start + len(dirListing)
    # 하위 폴더 변경을 위한 for문
    for i in range(start, end_num):
        source = folder_path + f'/{i}.json'
        destination = f'/content/drive/MyDrive/SIA_data/train/Total/Json/{i}.json'
        try:
        	# 이게 파일 이동 코드
            shutil.copyfile(source, destination)
            print(f'{i}완료')
        except:
            fail_list.append(i)
            print(f'{i}안됨')
        start += 1
    print('==================== part1 끝 ====================')
profile
차보의 Data Engineer 도전기♥ (근데 기록을 곁들인)
post-custom-banner

0개의 댓글