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

Python으로 파일을 새 디렉터리에 복사하는 방법 완벽 정리

Python에서 파일을 복사할 때 가장 널리 사용되는 방법은 표준 라이브러리의 shutil 모듈을 활용하는 것입니다. shutil 모듈은 개별 파일뿐만 아니라 폴더 전체를 한 번에 복사할 수 있는 다양한 함수를 제공합니다.

shutil.copy() 기본 사용법

shutil.copy(source, destination)을 호출하면 source 경로에 있는 파일이 destination 경로의 폴더로 복사됩니다. 이때 source와 destination은 모두 문자열 형태의 경로여야 합니다.

  • destination이 폴더 경로인 경우: 원본 파일 이름 그대로 해당 폴더에 복사됩니다.
  • destination이 파일 이름인 경우: 지정한 이름이 복사된 파일의 새 이름으로 사용됩니다.
  • 반환값: 복사된 파일의 전체 경로를 문자열로 반환합니다.

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

여러 개의 파일을 동시에 복사하려면 복사할 파일들의 목록을 만든 후, 반복문(loop)을 사용해 각 파일을 순서대로 복사하면 됩니다. 아래 예제는 세 개의 텍스트 파일을 새로 생성한 폴더에 복사하는 코드입니다.

import shutil, os

files = ['file1.txt', 'file2.txt', 'file3.txt']
os.mkdir('my_new_folder')

for f in files:
    shutil.copy(f, 'my_new_folder')

추가 팁

파일을 복사할 때 생성 시간, 수정 시간 같은 메타데이터까지 함께 보존하고 싶다면 shutil.copy2()를 사용하는 것이 좋습니다. 또한 대상 폴더가 존재하지 않을 경우 os.makedirs()로 미리 폴더를 생성하면 FileNotFoundError와 같은 오류를 예방할 수 있습니다.