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