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)))