Я пытаюсь разобрать строку:
'local:\n ----------\n instance_A:\n ----------\n release:\n 3-17-0\n instance_B:\n ----------\n release:\n 3-16-0\n log_level:\n debug\n primary_instance:\n A\n'
, чтобы стать чем-то вроде
{"instance_A":"3-17-0","instance_B":"3-16-0"}
Проблема в том, что тире «асимметричны», например, они отличаются для instance_A и instance_B так что когда я делаю что-то вроде этого:
"".join(a.split()).replace('----------','')[6:-33]
(что я не думаю, что это хороший подход в любом случае из-за [6: -33]), я получаю
'instance_A:release:3-17-0instance_B:release:3-16-0'
, что было бы нормально, если бы был разделитель между 3-17-0instance_B
Пожалуйста, предложите pythoni c способ синтаксического анализа этой строки и оценки текущего подхода.