struct.error: 'H' format requires 0 <= number <= 65535 Python

Реализую алгоритм LZW на Python. При кодировании mp3 файла возникла следующая ошибка:

output_file.write(pack('>H', int(data)))
struct.error: 'H' format requires 0 <= number <= 65535

Функция, где производится запись закодированных данных в файл:

def writeFile(self, path, some_data):
        #Запись в файл
        if self.mode == 'pack':
            #Запись закодированных данных
            output_file = open(path + '.lzw', 'wb')
            for data in some_data:
                output_file.write(pack('>H', int(data)))

Как решить данную проблемму?


Ответы (1 шт):

Автор решения: shalor1k

попробуйте использовать данный блок перехвата исключения:

try:
    output_file.write(pack('>H', int(data)))
except struct.error:
    output_file.write(pack('>I', int(data)))

Источник

→ Ссылка