все Python 3structфункция
struct.unpack_from()
упаковка и распаковка
Распаковывает значения по формату struct из буфера, начиная с заданного смещения; лишние байты после записи игнорируются.
Синтаксис
values = struct.unpack_from(format, /, buffer, offset=0)
В отличие от unpack, буфер может быть длиннее записи — так читают заголовок файла или поле в середине пакета без нарезки срезами и копий. offset считается в байтах, а не в записях: для i-й записи это i * calcsize(format). Если от offset байтов не хватает, будет struct.error с указанием реального размера буфера.
Примеры
import struct
data = b'\x00\x01\x02\x03'
print(struct.unpack_from('<H', data, 1)) # → (513,)
print(struct.unpack_from('<H', data)) # → (256,) — хвост не мешает
import struct
try:
struct.unpack_from('<I', b'ab')
except struct.error as e:
print(type(e).__name__) # → error
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности