Python Glossary English

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

struct.pack()

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

Упаковывает значения в bytes по строке формата struct: числа, байтовые строки, флаги — в заданном порядке байт.

Синтаксис

data = struct.pack(format, v1, v2, ...)

Без префикса '<', '>' или '!' порядок байт и выравнивание берутся с текущей машины, и результат не переносим. Значение вне диапазона кода — struct.error, а не тихое обрезание: 300 в 'B' не влезет. Код 's' принимает только bytes, не str, и молча дополняет нулями или обрезает до заданной длины.

Примеры

import struct
print(struct.pack('>I', 1))  # → b'\x00\x00\x00\x01'
print(struct.pack('<I', 1))  # → b'\x01\x00\x00\x00'
print(struct.pack('<5s', b'abc'))  # → b'abc\x00\x00'
import struct
try:
    struct.pack('<B', 300)
except struct.error as e:
    print(e)  # → format requires 0 <= number <= 255

См. также

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

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