все Python 3до 3.13Удалено из стандартной библиотекипонятие
chunk
удалённые модули
Чтение блоков IFF-формата: 4-байтный идентификатор, длина, данные. Удалён в Python 3.13 — заголовок блока читайте через struct.
Синтаксис
import chunk # до 3.13
chunk.Chunk(файл) читал один блок формата IFF, из которых состоят AIFF, RIFF и WAV: getname() возвращал идентификатор, getsize() — длину, read() — данные, skip() перескакивал к следующему блоку. Убран по PEP 594: им пользовались только aifc и wave, а wave получил свой код. Как переписать: прочитайте 8 байт заголовка и разберите их struct.unpack('>4sI', ...) — для IFF и AIFF длина big-endian, для RIFF и WAV формат '<4sI'; затем file.read(size) берёт данные. Пакет standard-chunk на PyPI возвращает модуль.
Примеры
# Python 3.13+
try:
import chunk
except ModuleNotFoundError as e:
print(type(e).__name__) # → ModuleNotFoundError
# Python 3.13+
import io, struct
f = io.BytesIO(b'NAME\x00\x00\x00\x03abc')
name, size = struct.unpack('>4sI', f.read(8))
print(name, size, f.read(size)) # → b'NAME' 3 b'abc'
import chunk, io
c = chunk.Chunk(io.BytesIO(b'NAME\x00\x00\x00\x03abc'))
print(c.getname(), c.getsize(), c.read()) # → b'NAME' 3 b'abc'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности