start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sh'%length start = end end += struct.calcsize(pattern) data = struct.unpack(pattern, str[start:end])