Вы пытаетесь выполнить
print( raw_message['altitude'] )
и получить сообщение об ошибке
string indices must be integers
Итак, логические выводы заключаются в том, что raw_message
является строкой, а не Словарь. Вы можете использовать raw_message['altitude']
, чтобы получить altitude
ключ словаря, но строка не имеет ключей - только индексы.
Кроме того, имейте в виду , где эта ошибка возникает. Он находится внутри блока except
и, в частности, запускается только тогда, когда вы не можете разобрать необработанное сообщение (и я предполагаю, что «сырое сообщение» - это, действительно, просто регулярная строка текста).
Попробуйте выполнить
print( raw_message )
вместо необходимой информации об отладке. Или, по крайней мере, рассматривать его как строку, а не как словарь. Возможно, что причиной вашей ошибки является то, что parse(raw_message)
выдает ошибку, и это не предполагается, и в этом случае вам может понадобиться пошаговая отладка с помощью инструмента, такого как PDB, чтобы выяснить, где он сбой.