Прошу вас помочь мне в этом, я не могу удалить пробелы из элементов списка, которые показывают ненужные пробелы. Не могли бы вы помочь мне удалить его.
Мне нужно получить строки с ip 1.1.1.1/32 и 3.3.3.3/32 в начале и получить все элементы в списке.
Я пробовал то же самое с помощью регулярного выражения, пробелы удалены, но я не могу получить последний элемент di git из таблицы.
Пожалуйста, предоставьте решение для того же:
import re
from io import StringIO
output = """
---------------------------------------------------------------------------
| Up | Down |
Net Prefix |---------------------------+---------------------------
| ASR | L | A | Label |
------------------+------------------+--------+------------------+---------
1.1.1.1/32| 162.148.102.2:0 | 102| - | - |
10.10.40.0/24| 162.148.102.2:0 | 101| - | - |
1.1.1.1/32| 162.148.102.2:0 | 100| - | - |
3.3.3.3/32| - | - | 162.148.102.2:0 | 103|
192.158.104.0/24| - | - | 162.148.102.2:0 | 105|
2.2.2.2/32| - | - | 162.148.102.2:0 | 106|
10.30.50.0/24| - | - | 162.148.102.2:0 | 107|
---------------------------------------------------------------------------
"""
a = "1.1.1.1/32"
b = "3.3.3.3/32"
output = StringIO (output)
i = 0
j = 0
for line in output.read().split('\n'):
if b in line:
tempa_i = line.strip().split('|')
res_i = [ele for ele in tempa_i if ele.strip(' ')]
i = i+1
if a in line:
tempb_j = re.findall(r'(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})',line)
j = j+1
print (i)
print (j)
for list_ in range (i):
print((res_i))
for list_ in range (j):
print(tempb_j)
Наблюдаемый результат:
['3.3.3.3/32', ' - ', ' - ', ' 162.148.102.2:0 ', ' 103']
['1.1.1.1', '162.148.102.2']
['1.1.1.1', '162.148.102.2']
Ожидаемый результат:
['3.3.3.3/32', '-', '-', '162.148.102.2:0', '103']
['1.1.1.1/32', '162.148.102.2:0', '102', '-', '-']
['1.1.1.1/32', '162.148.102.2:0', '100', '-', '-']