Traceback
подобен отладочной информации, которую вы можете использовать для отслеживания того, какие функции были вызваны при возникновении ошибки. Кажется, ошибка произошла, когда он выполнял этот бит условной логики c, строки 22-23, функции main
:
elif time_finder_comm(result[-1]) == temp_time:
result[-1] = str(temp_time) + "," + set_bit_prev(on_off_finder(a), note_finder(a), -1)
, которая вызвала функцию on_off_finder
, которая просто пытается Выясните, имеет ли строка «Вкл.» или «Выкл.».
Кажется, программа чтения файлов ожидает только такие строки:
55248 Off ch=10 n=40 v=64
Однако в загруженном файле также есть такие строки:
55248 Meta TrkEnd
TrkEnd
Функция index
выдает ValueError: substring not found
, если переданная подстрока не существует в строке, которая в данном случае (строка 178 ниже) является строкой "ch"
:
end = in_string.index("ch=") - 1
Попробуйте удалить такие строки и перезапустить скрипт? Найдите все строки с помощью «Trk» и удалите их, или создайте 3 отдельных файла, потому что в «megalovania.txt», кажется, есть 3 блока строк, которые запутают сценарий:
(starting at line 2469):
55248 Meta TrkEnd
TrkEnd
MTrk
...
(starting at line 4071):
58368 Meta TrkEnd
TrkEnd
MTrk
...
(starting at line 6431):
55296 Meta TrkEnd
TrkEnd