[파이썬] shutil `shutil.copy()`: 파일 복사하기

파이썬에서 파일을 복사해야 할 때가 종종 있습니다. 이를 위해 shutil 모듈에는 copy() 함수가 제공됩니다. shutil.copy() 함수를 사용하면 손쉽게 파일을 복사할 수 있습니다. 이번 글에서는 shutil.copy() 함수를 사용하여 파일을 복사하는 방법에 대해 알아보겠습니다.

shutil.copy() 함수 사용법

shutil.copy() 함수는 두 개의 매개변수를 가집니다. 첫 번째 매개변수는 원본 파일의 경로이고, 두 번째 매개변수는 복사본 파일의 경로입니다. 다음은 shutil.copy() 함수의 사용 예시입니다.

import shutil

# 원본 파일 경로
source_file = "source.txt"

# 복사본 파일 경로
destination_file = "destination.txt"

# 파일 복사하기
shutil.copy(source_file, destination_file)

위의 예시에서는 source.txt 파일을 destination.txt로 복사합니다. shutil.copy() 함수는 원본 파일을 복사하여 새로운 파일을 생성합니다.

파일 복사 시 디렉토리 구조 복사하기

shutil.copy() 함수는 기본적으로 파일의 내용만 복사합니다. 하지만 원본 파일이 어떤 디렉토리에 위치해 있는 경우, 해당 디렉토리 구조를 복사한 후 파일을 복사할 수도 있습니다. 이를 위해서는 shutil.copy2() 함수를 사용하면 됩니다.

import shutil

# 원본 파일 경로 (폴더 구조 포함)
source_file = "/path/to/source/file.txt"

# 복사본 파일 경로 (폴더 구조 포함)
destination_file = "/path/to/destination/file.txt"

# 파일과 디렉토리 구조 복사하기
shutil.copy2(source_file, destination_file)

위의 예시에서는 source.txt 파일과 해당 파일이 위치한 디렉토리 구조를 그대로 복사하여 destination.txt 파일을 생성합니다.

복사된 파일 확인하기

파일이 성공적으로 복사되었는지 확인하려면 다음과 같이 복사된 파일의 내용을 출력해볼 수 있습니다.

# 복사된 파일 읽어오기
with open(destination_file, 'r') as file:
    data = file.read()

# 복사된 파일 내용 출력
print(f"복사된 파일 내용:\n{data}")

위의 예시에서는 destination.txt 파일을 열고, 해당 파일의 내용을 출력합니다.

마무리

shutil.copy() 함수를 사용하면 파이썬에서 파일을 손쉽게 복사할 수 있습니다. 이를 통해 파일 복사 작업을 간편하게 처리할 수 있습니다. 추가적으로 shutil.copy2() 함수를 사용하면 디렉토리 구조와 함께 파일을 복사할 수도 있습니다.

프로그램을 개발하다보면 파일 복사와 같은 기본적인 작업을 자주 사용하게 됩니다. shutil.copy() 함수를 사용하여 파일 복사를 간편하게 처리할 수 있으므로, 활용해보시기 바랍니다.