[python] 파이썬으로 데이터 압축 및 압축 해제 처리하기

파이썬을 사용하면 데이터를 효과적으로 압축하고 해제할 수 있는 여러 가지 방법이 있습니다. 데이터를 압축하면 디스크 공간을 절약하고 데이터 전송 시간을 단축할 수 있습니다. 여기에서는 파이썬에서 데이터를 압축하고 압축을 해제하는 여러 가지 방법과 예제를 살펴보겠습니다.

1. gzip 모듈 활용

gzip 모듈을 사용하면 데이터를 gzip 형식으로 압축하고 압축을 해제할 수 있습니다.

import gzip

# 데이터를 gzip 파일로 압축
with open('file.txt', 'rb') as f_in:
    with gzip.open('file.txt.gz', 'wb') as f_out:
        f_out.writelines(f_in)

# gzip 파일을 해제
with gzip.open('file.txt.gz', 'rb') as f_in:
    with open('file.txt', 'wb') as f_out:
        for line in f_in:
            f_out.write(line)

2. zipfile 모듈 활용

zipfile 모듈은 여러 파일 및 디렉토리를 압축하고 해제하는 데 사용됩니다.

import zipfile

# 파일 및 디렉토리를 zip 파일로 압축
with zipfile.ZipFile('archive.zip', 'w') as zipf:
    zipf.write('file1.txt')
    zipf.write('file2.txt')
    zipf.write('dir1')

# zip 파일을 해제
with zipfile.ZipFile('archive.zip', 'r') as zipf:
    zipf.extractall('extracted_folder')

3. tarfile 모듈 활용

tarfile 모듈은 tar 파일의 압축 및 해제 기능을 제공합니다.

import tarfile

# 파일 및 디렉토리를 tar 파일로 압축
with tarfile.open('archive.tar.gz', 'w:gz') as tar:
    tar.add('file1.txt')
    tar.add('dir1')

# tar 파일을 해제
with tarfile.open('archive.tar.gz', 'r:gz') as tar:
    tar.extractall('extracted_folder')

결론

파이썬에서는 gzip, zipfile, tarfile 모듈을 활용하여 데이터를 효과적으로 압축하고 해제할 수 있습니다. 이러한 모듈을 사용하면 파이썬으로 간단하게 파일 및 디렉토리를 압축 및 해제할 수 있으며, 데이터 처리 및 전송 성능을 향상시킬 수 있습니다.

참고 문헌: