TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.3K subscribers
Post #7359 3.72K
🛠 Python 3.14 официально научили сжимать по-взрослому

В Python 3.14 появился новый пакет compression — и это тот редкий случай, когда «объединили старое и добавили новое» получилось реально полезно.

Теперь работа со сжатием — это единый интерфейс, а не квест из пяти разных модулей и документаций.

В пакете compression собрали сразу 5 алгоритмов:
➡️ bz2
➡️ gzip
➡️ lzma
➡️ zlib
➡️ zstd — вот он тут главный новичок: ZstdCompressor и ZstdDecompressor

Причём первые четыре и раньше были в стандартной библиотеке, но теперь их рекомендуют импортировать через compression, чтобы всё было в одном стиле:


from compression import gzip, zstd


👍 Почему это круто

1️⃣ Единый API

У всех модулей есть:

compress(data)
decompress(data)


Можно буквально перебрать алгоритмы в цикле и сравнить результат. Да, Python теперь позволяет выбрать компрессию так же просто, как сортировку.

2️⃣ `zstd` — новый любимчик

На тестовых данных zstd сжимает в 2+ раза лучше, чем старые алгоритмы.

Меньше байтов — меньше боли при хранении, передаче и бэкапах:

from compression import zstd

compressor = zstd.ZstdCompressor()

result = b""
bytes_processed = 0
for chunk in incoming_data_stream():
# `chunk` is a new batch of data.
bytes_processed += len(chunk)
# We compress this batch.
result += compressor.compress(chunk)
result += compressor.flush()

ratio = len(result) / bytes_processed
print(f"{100 * ratio:>.2f}%") # 0.56%


3️⃣ Обычная работа с файлами

Например:

with zstd.open("data.zst", "wt") as f:
f.write("Hello, world!" * 1000)


4️⃣ Потоковое (инкрементальное) сжатие

Для стримов, логов и больших данных есть компрессоры и декомпрессоры:
➡️ сжимаешь кусками
➡️ читаешь чанками
➡️ память не умирает

Например:

compressor = zstd.ZstdCompressor()
compressor.compress(chunk)
compressor.flush()


📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека питониста

#буст
  • 👍 20
  • ❤ 5
  • 😁 2
  • 🔥 1
More from @pyproglib
  1. Oct 3, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  2. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  3. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  4. Sep 25, 2026🔥 Курс «ИИ для разработчиков» уже стартовал И мы решили открыть первое занятие всем — мож…
  5. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  6. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →