Я пытаюсь выполнить вложенный цикл, чтобы объединить данные в строку, используя совпадающие MAC-адреса в обоих файлах.
Я могу вытащить цикл без использования регулярного выражения, однако при использовании приведенного ниже поискового регулярного выражения он будет проходить через MAC_Lines только один раз и печатать правильные результаты, используя первую запись в MAC_Lines, и останавливаться. Я не уверен, как заставить MAC_Lines перейти к следующей строке и повторить процесс для всех записей в MAC_Lines.
try:
for mac in MAC_Lines:
MAC_address = re.search(r'([a-fA-F0-9]{2}[:|\-]?){6}', mac, re.I)
MAC_address_final = MAC_address.group()
for arp in ARP_Lines:
ARP_address = re.search(r'([a-fA-F0-9]{2}[:|\-]?){6}', arp, re.I)
ARP_address_final = ARP_address.group()
if MAC_address_final == ARP_address_final:
print mac + arp
continue
except Exception:
print 'completed.'
Результаты:
13,64,00:0c:29:36:9f:02,giga-swx 0/213,172.20.13.70, 00:0c:29:36:9f:02, vlan 64
завершено.