все 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Сообщить о неточности