Вы можете использовать модуль struct
для упаковки значений в соответствующие форматы:
>>> pkt_bytes = [0x02, 0x07, 0xff, 0xff, 0x00, 0x03]
>>> myint = 123
>>> pkt_bytes[3:5] = [ord(b) for b in struct.pack("H",myint)]
>>> pkt_bytes
[2, 7, 255, 123, 0, 3]
По умолчанию это будет использовать собственный порядок байтов, но вы можете изменить это, используя модификаторы для форматирования строки. Поскольку ваша переменная называется pkt_bytes
, я предполагаю, что вам нужен сетевой (байтовый) порядок байтов, который обозначается !
:
>>> struct.pack("!H",5000)
'\x13\x88'