[파이썬] shutil을 사용한 파일 서버 관리

파이썬에서 파일 서버를 관리하고자 할 때, shutil 모듈은 매우 유용한 도구입니다. shutil은 파일 및 디렉토리 작업을 간편하게 처리할 수 있는 다양한 함수를 제공합니다. 이 글에서는 shutil 모듈을 사용하여 파일 서버를 관리하는 방법을 알아보겠습니다.

파일 복사하기

shutil 모듈은 파일을 복사하는 데 사용되는 copy 함수를 제공합니다. 다음은 copy 함수의 예제입니다.

import shutil

# source 파일을 destination으로 복사합니다.
shutil.copy('source.txt', 'destination.txt')

위의 예제에서 source.txt 파일을 destination.txt로 복사하였습니다.

주의: destination.txt 파일이 이미 존재하는 경우, 기존 파일을 덮어씌우게 됩니다.

디렉토리 복사하기

만약 디렉토리 전체를 복사하고 싶다면, copytree 함수를 사용할 수 있습니다. 다음은 copytree 함수의 예제입니다.

import shutil

# source 디렉토리 전체를 destination으로 복사합니다.
shutil.copytree('source_dir', 'destination_dir')

위의 예제에서 source_dir 디렉토리 전체를 destination_dir로 복사하였습니다.

주의: destination_dir 디렉토리가 이미 존재하는 경우, 기존 디렉토리 안에 내용을 덮어씌우게 됩니다. 기존 디렉토리를 삭제하고 복사할 디렉토리를 생성하려면 copytree 함수의 세 번째 매개변수를 True로 설정해야 합니다.

파일 및 디렉토리 이동하기

파일이나 디렉토리를 이동하고자 할 때는 move 함수를 사용할 수 있습니다. 다음은 move 함수의 예제입니다.

import shutil

# source 파일을 destination으로 이동합니다.
shutil.move('source.txt', 'destination.txt')

위의 예제에서 source.txt 파일을 destination.txt로 이동하였습니다.

파일 및 디렉토리 삭제하기

파일이나 디렉토리를 삭제하고자 할 때는 os 모듈과 함께 remove 함수를 사용할 수 있습니다. 다음은 remove 함수의 예제입니다.

import os

# 파일을 삭제합니다.
os.remove('file.txt')

# 디렉토리를 삭제합니다.
os.rmdir('directory')

위의 예제에서 file.txt 파일과 directory 디렉토리를 삭제하였습니다.

주의: 위의 예제에서는 os.remove 함수를 사용하여 파일을 삭제하고, os.rmdir 함수를 사용하여 디렉토리를 삭제하였습니다. 만약 디렉토리 안에 파일이나 디렉토리가 있는 경우, rmdir 함수는 오류를 발생시킵니다. 디렉토리 안에 모든 파일과 디렉토리를 삭제하고 싶다면 shutil.rmtree 함수를 사용하세요.

결론

파일 서버 관리를 위해 shutil 모듈을 사용하면 파일 및 디렉토리 작업을 간편하게 처리할 수 있습니다. 복사, 이동, 삭제 등의 작업을 쉽게 수행할 수 있기 때문에, 파이썬으로 파일 서버를 관리해야 할 때 shutil 모듈을 적극 활용해 보세요.