У меня есть некоторые данные, что выглядит КакЭто, количество линий может варьироваться:Составьте список в дальнейшие подсписки
? (192.168.30.4) at 00:10:60:0a:70:26 [ether] on vlan20
? (192.168.30.1) at 70:ca:9b:99:6a:82 [ether] on vlan20
#etc similar format
Я хочу, чтобы разобрать это такое, что я могу напечатать что-то вроде этого в таблице:
#Protocol Address Age (min) Hardware Addr Type Interface
#Internet 192.168.30.4 - 0010.600a.7026 ARPA Vlan20
#Internet 192.168.30.1 - 70ca.9b99.6a82 ARPA Vlan20
я разделил данные по линии в два списка
parse = proc_stdout.split('\n')
Это дало список из двух элементов:
['? (192.168.30.4) at 00:10:60:0a:70:26 [ether] on vlan20', '? (192.168.30.1) a
t 70:ca:9b:99:6a:82 [ether] on vlan20', '']
Теперь я хочу разбить данные так, чтобы в каждом пространстве списка был создан новый список. Это даст список списков для каждой строки выше. Затем я смог выполнить поиск в каждом списке списков, чтобы извлечь нужные мне данные и распечатать их. Однако вы не можете разбить список? Каков наилучший способ сделать это?
тоже спасибо за этот ответ :) – Paul
Я сначала понимаю это,' _, ip, _, har_ad , _, _, interface = line.split() 'вы просто вызываете все, чего не хотите? Это добавляет их все к этой переменной? – Paul
@Paul Это называется [распаковка последовательности] (http://docs.python.org/2/tutorial/datastructures.html), он назначает элементы списка ('line.split()') переменным на LHS.'_' - просто фиктивная переменная, означает игнорировать эти элементы. –