У меня есть набор данных MIB, который составляет около 10 тыс. Строк. Я хочу найти определенную строку (например, "SNMPv2-MIB::sysORID"
) в текстовом файле и добавить всю строку в список. Я использую Jupyter Notebooks для запуска кода.
Я использовал приведенный ниже код для поиска строки поиска, и она печатает искомую строку вместе со следующими двумя строками.
basic = open('mibdata.txt')
file = basic.read()
city_name = re.search(r"SNMPv2-MIB::sysORID(?:[^a-zA-Z'-]+[a-zA-Z'-]+) {1,2}", file)
city_name = city_name.group()
print(city_name)
Пример строк в файле:
SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching.
Ожидаемый результат:
SNMPv2-MIB :: sysORID.10 = OID: NOTIFICATION-LOG-MIB :: messagesLogMIB
но я получаю только
SNMPv2-MIB :: sysORID.10 = OID: NOTIFICATION-LOG-MIB
Проблема с изменением количества строк после искомых строк состоит в том, что количество строк в каждой строке отличается, и я не могу указать константу. Вместо этого я хочу использовать '\ n' в качестве разделителя, но я не смог найти ни одного такого сообщения.
PS Любое другое решение также приветствуется