py.user.nextСпасибо за пример. вот мое хреновое решение:
ospf_route = "O 10.0.24.0/24 [110/41] via 10.0.13.3, 3d18h, FastEthernet0/0" ospf = ospf_route.replace('O', 'OSPF') ospf = ospf.replace(',', '') ospf = ospf.strip().split() # type(ospf) # builtins.list ospf.remove('via') print(ospf) parameters = """ Protocol: Prefix: AD/Metric: Next-Hop: Last update: Outbound Interface: """ parameters = parameters.split() #Так как при разбивке split() Last update и Outbound Interface поделились на 2 строки удалим ненужные части parameters.remove('update:') parameters.remove('Interface:') #Узнаем index Last чтобы потом его удалить и на его место вставить цельный "Last update" m = parameters.index('Last') parameters.pop(m) parameters.insert(m, 'Last update') #Узнаем index Outbound чтобы потом его удалить и на его место вставить цельный "Outbound Interface" m = parameters.index('Outbound') parameters.pop(m) parameters.insert(m, "Outbound Interface") #смотрим для самопроверки, любуемся, убеждаемся что одинаковой длинны ospf parameters len(ospf) len(parameters) #ну и собсна решение в лоб i = str(list(zip(parameters, ospf))) i = i.replace('[','').replace(']','').replace('(','').replace(')','').replace('\'','') i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12 = i.split(',') print("\n{:24}{:24}\n{:24}{:24}\n{:24}{:24}\n{:24}{:24}\n{:24}{:24}\n{:24}{:24}\n".format(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12))
только вопрос почему отступ у первой строки получается, слово Protocol..
Protocol: OSPF Prefix: 10.0.24.0/24 AD/Metric: 110/41 Next-Hop: 10.0.13.3 Last update 3d18h Outbound Interface FastEthernet0/0