Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 특정 파일을 한 폴더에서 다른 폴더로 복사하는 방법

파이썬에서 파일을 복사하려면 표준 라이브러리에 포함된 shutil 모듈을 사용하는 것이 가장 간단하고 확실한 방법입니다. shutil 모듈은 단일 파일은 물론 폴더 전체를 복사할 수 있는 다양한 함수를 제공합니다.

여러 파일을 한 번에 복사하기

여러 개의 파일을 동시에 복사하려면 먼저 복사할 파일들의 목록(리스트)을 만든 후, 반복문(for 문)을 사용해 각 파일을 하나씩 복사하면 됩니다.

shutil.copy() 기본 사용법

shutil.copy(source, destination) 함수를 호출하면 source 경로에 있는 파일이 destination 경로의 폴더로 복사됩니다. 두 인자는 모두 문자열 형태의 경로입니다. 만약 destination이 폴더가 아닌 파일 이름이라면, 해당 이름이 복사된 파일의 새로운 이름으로 사용됩니다. 또한 이 함수는 복사가 완료된 파일의 경로를 문자열로 반환합니다.

예제 코드

import shutil, os
files = ['file1.txt', 'file2.txt', 'file3.txt']
for f in files:
    shutil.copy(f, 'dest_folder')

위 코드는 현재 디렉터리에 있는 세 개의 텍스트 파일을 dest_folder라는 폴더로 순차적으로 복사합니다. 대상 폴더가 미리 존재해야 하며, 없다면 os.makedirs('dest_folder', exist_ok=True) 코드로 생성한 뒤 실행하는 것이 안전합니다.

추가 팁: 메타데이터까지 복사하기

파일의 수정 시간 등 메타데이터까지 그대로 유지하면서 복사하고 싶다면 shutil.copy() 대신 shutil.copy2()를 사용하세요. copy2는 copy와 동일하게 동작하지만 권한 정보와 타임스탬프까지 함께 복사해 줍니다. 백업 작업처럼 원본 속성 보존이 중요한 경우에 특히 유용합니다.