[파이썬] 파일의 압축과 압축 해제

파일의 압축과 압축 해제는 데이터를 효율적으로 관리하고 저장 공간을 절약하는 데 도움이 됩니다. Python에는 다양한 방법으로 파일을 압축하고 해제할 수 있는 라이브러리가 있습니다. 이번 포스트에서는 zipfile 모듈을 사용하여 파일을 압축하고, shutil 모듈을 사용하여 압축을 해제하는 방법에 대해 알아보겠습니다.

파일 압축하기

Python의 zipfile 모듈은 파일을 압축하는데 사용됩니다. 다음은 zipfile을 사용하여 파일을 압축하는 예제 코드입니다:

import zipfile

def compress_files(file_paths, zip_name):
    with zipfile.ZipFile(zip_name, 'w') as zipf:
        for file in file_paths:
            zipf.write(file)

file_list = ['file1.txt', 'file2.txt', 'file3.txt']
compress_files(file_list, 'compressed_files.zip')

위의 코드는 compress_files 함수를 정의하여 여러 개의 파일을 압축파일로 묶는 일을 수행합니다. with문을 사용하여 zipfile.ZipFile 객체를 생성하면 압축 파일이 자동으로 생성되고, write() 메서드를 사용하여 파일을 추가할 수 있습니다.

파일 압축 해제하기

Python의 shutil 모듈은 파일 압축을 해제하는데 사용됩니다. 다음은 shutil을 사용하여 파일을 압축 해제하는 예제 코드입니다:

import shutil

def extract_files(zip_name, extract_dir):
    with zipfile.ZipFile(zip_name, 'r') as zipf:
        zipf.extractall(extract_dir)

extract_files('compressed_files.zip', 'extracted_files')

위의 코드는 extract_files 함수를 정의하여 압축 해제할 압축 파일과 추출할 디렉토리를 지정합니다. with문을 사용하여 zipfile.ZipFile 객체를 생성하고, extractall() 메서드를 사용하여 모든 파일을 지정된 디렉토리로 추출합니다.

마무리하며

Python의 zipfileshutil 모듈을 이용하면 파일을 압축하고 해제하는 것이 매우 간단해집니다. 이를 통해 데이터 관리와 공간 절약에 도움을 줄 수 있습니다. 이번 포스트를 통해 파일 압축과 압축 해제를 위한 기본적인 방법을 익힐 수 있었기를 바랍니다.