Так что я хочу упаковать список кортежей, а затем распаковать его позже.python: размер структурного пакета дольше, чем ожидалось - почему это происходит?
from struct import *
from itertools import chain
a = [(1, 67), (213, 455), (9009, 8887)]
# converts 3x2 list to 6x1 list
b = list(chain(*a))
size=6
qq = pack('h'+'L'*size,size,*b)
# peak to get the list length
mysize = unpack('h',qq[:2])
mysize = mysize[0]
unpack('L',qq[2:6])
unpack('h'+'L'*mysize,qq)
unpack('L'*mysize, qq[2:]) # does not work
unpack('L'*mysize, qq[2:2+mysize*4]) # works
Использование Python 2.7, вторая в последнюю строку не работает. Я испытал len(qq)
, который является 28, когда я ожидал 26.