Python Glossary English

все Python 3structфункция

struct.pack_into()

упаковка и распаковка

Упаковывает значения по формату struct прямо в изменяемый буфер (bytearray, memoryview) с заданного смещения.

Синтаксис

struct.pack_into(format, buffer, offset, v1, v2, ...)

Функция ничего не возвращает — результат в самом буфере, и присваивание x = pack_into(...) даст None. bytes неизменяем, поэтому нужен bytearray или memoryview, иначе TypeError. Буфер не растёт: если от offset не хватает места, будет struct.error, а не расширение.

Примеры

import struct
buf = bytearray(6)
print(struct.pack_into('<HH', buf, 2, 1, 513))  # → None
print(buf)  # → bytearray(b'\x00\x00\x01\x00\x01\x02')
import struct
try:
    struct.pack_into('<I', b'1234', 0, 1)
except TypeError as e:
    print(e)  # → must be read-write bytes-like object, not bytes

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности