Я пытаюсь прочитать конфигурацию брандмауэра и управлять объектами, которые он определяет, используя Python, чтобы затем изменить имя объекта и экспортировать его в новый файл конфигурации. Пример ввода:
edit "host1"
set subnet 10.0.0.10 255.255.255.255
next
edit "host2"
set subnet 10.0.0.11 255.255.255.255
next
При чтении файла мне нужен способ затем перебирать каждый экземпляр "edit [...]" со следующими установленными атрибутами (которых может быть больше одного ). По сути, строка, содержащая «редактировать», означает начало нового объекта, а «следующий» означает конец указанного объекта. Цель состоит в том, чтобы проверить содержимое каждого объекта и переименовать его в зависимости от того, что он из себя представляет, исходя из предыдущего примера, вывод будет следующим:
edit "10.0.0.10"
set subnet 10.0.0.10 255.255.255.255
next
edit "10.0.0.11"
set subnet 10.0.0.11 255.255.255.255
next
Манипулирование самим текстом не должно быть слишком сложным. проблема, но в настоящее время я застрял в поиске способа обрабатывать каждый блок конфигурации индивидуально.
Я думал о преобразовании ввода в XML, а затем использовать ElementTree, но я надеюсь, что есть более элегантный способ сделать это без этого дополнительного шага, который я просто не вижу из-за отсутствия опыта программирования.
Заранее благодарим за любые комментарии, как решить эту проблему.