[파이썬] 파일의 디렉토리 내 파일 압축

지난 주, 저는 Python을 사용하여 파일 디렉토리 내의 파일을 압축하는 방법에 대해 연구하였습니다. 파일 압축은 파일 크기를 줄이고 저장 공간을 절약하는 효과적인 방법입니다. 이번 포스트에서는 Python을 사용하여 파일 디렉토리 내의 파일을 압축하는 방법을 살펴보도록 하겠습니다.

Required Libraries

Python에서 파일 압축을 위해 다음과 같은 라이브러리를 사용할 것입니다:

이러한 라이브러리들은 보통 Python 설치 시 함께 제공되기 때문에 별도로 설치하지 않아도 사용할 수 있습니다.

파일 압축하기

다음은 Python을 사용하여 파일 디렉토리 내의 파일을 압축하는 예제 코드입니다:

import zipfile
import os

def compress_directory(directory_path, zip_path):
    with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
        # 디렉토리 내의 모든 파일을 압축합니다.
        for root, directories, files in os.walk(directory_path):
            for file in files:
                file_path = os.path.join(root, file)
                zipf.write(file_path, os.path.relpath(file_path, directory_path))

        print("파일 압축이 완료되었습니다.")

# 압축할 디렉토리 경로
directory_path = "/path/to/directory"
# 압축 파일 경로
zip_path = "/path/to/compressed_file.zip"

compress_directory(directory_path, zip_path)

위의 코드는 compress_directory 함수를 정의하고, 해당 함수를 호출하여 파일 압축을 수행합니다. compress_directory 함수는 주어진 디렉토리 경로의 모든 파일을 탐색하고, zipfile 라이브러리를 사용하여 파일을 압축합니다. zipf.write 함수를 사용하여 파일을 zip 파일에 추가하고, os.relpath 함수를 사용하여 압축된 파일의 상대 경로를 유지합니다.

위의 코드를 실행하면, 지정한 디렉토리 내의 모든 파일이 압축되어 지정한 경로에 압축 파일이 생성됩니다.

결론

Python을 사용하여 파일 디렉토리 내의 파일을 압축하는 방법에 대해 살펴보았습니다. zipfile 라이브러리를 사용하여 파일 압축을 간단하게 수행할 수 있으며, 이를 응용하여 다양한 프로젝트에서 파일 압축 기능을 활용할 수 있습니다. 파일 압축은 용량 절약 및 파일 전송 시 효율적인 방법이므로, 파일 관리 작업에 도움이 될 수 있습니다.