# 데이터 압축 및 보관

The modules described in this chapter support data compression with the zlib, gzip, bzip2, lzma, and zstd algorithms, and the creation of ZIP- and tar-format archives. See also 아카이브 연산 provided by the `shutil` module.

- The `compression` package
- `compression.zstd` — Compression compatible with the Zstandard format
  - Exceptions
  - Reading and writing compressed files
  - Compressing and decompressing data in memory
  - Zstandard dictionaries
  - Advanced parameter control
  - Miscellaneous
  - Examples
- `zlib` — gzip 과 호환되는 압축
- `gzip` — gzip 파일 지원
  - 사용 예
  - 명령 줄 인터페이스
    - 명령 줄 옵션
- `bz2` — bzip2 압축 지원
  - 파일 압축(해제)
  - 증분 압축(해제)
  - 일괄 압축(해제)
  - 사용 예
- `lzma` — LZMA 알고리즘을 사용한 압축
  - 압축 파일 읽기와 쓰기
  - 메모리에서의 데이터 압축과 압축 해제
  - 기타
  - 사용자 정의 필터 체인 지정
  - 예
- `zipfile` — ZIP 아카이브 작업
  - ZipFile 객체
  - Path 객체
  - PyZipFile 객체
  - ZipInfo 객체
  - 명령 줄 인터페이스
    - 명령 줄 옵션
  - 압축 해제 함정
    - 파일 자체에서
    - 파일 시스템 제한
    - 자원 제한
    - 중단
    - 추출의 기본 동작
- `tarfile` — tar 아카이브 파일 읽기와 쓰기
  - TarFile 객체
  - TarInfo 객체
  - Extraction filters
    - Default named filters
    - Filter errors
    - Hints for further verification
    - Supporting older Python versions
    - Stateful extraction filter example
  - 명령 줄 인터페이스
    - 명령 줄 옵션
  - 예
    - Reading examples
    - Writing examples
  - 지원되는 tar 형식
  - 유니코드 문제