if packet_type == 'w':
    warning_data = warning.unpack(input.read(warning.size))
elif packet_type == 'i':
    info_data = info.unpack(input.read(info.size))
Чтение двоичных данных структуры в Python?