Найти - Пользователи
Полная версия: Чтение всех файлов
Начало » Python для новичков » Чтение всех файлов
1 2 3 4
Ed
Вас очень трудно понять.
Если такие трудности с русским, то хотя бы покажите весь неработающий код, а не куски.
Где ваша f1? Что хотите получить на выходе? Что получаете?

Просто покажите пример входного файла, код и желаемый результат.
avdoshkin
def dmac():

часть кода обрезал

for line in a1.split('\n'):
<——>if( ('dynamic' in line) or ('self' in line) or ('permanent' in line)):
<——> vlan = line.split()
<——> mac = line.split().replace('-',':')
<——> port = line.split()
<——> data = findinfo(mac)
<——> ip = data.split()
<——> name = data.split()
<——> print ‘%s\t %s\t %s\t %s\t %s’ % (port,vlan,mac,ip,name)

Берем из функции dmac переменную mac в ней находиться:
00:11:11:22:33:33
00:33:33:22:22:33
и так далее.

Подставляем во вторую функцию мои данные для поиска в файлах vlan*.txt, далее из найденных данные вытаскиваем IP, MAC,NAME
и передаем их в функцию dmac() и того получаем:
Port VLAN MAC IP NAME
26 11 00:1b:11:af:d0:a6 10.0.11.112 mon7-7
——————————————————————————-

cat vlan111.txt
IP MAC VLAN NAME
10.1.11.147<—>00:17:9a:56:f4:78<—–>vlan111>max

——————————————————————————-

def findinfo(mac):
files = fileinput.input(glob.glob('vlan*.txt'))
for line in files:
<——>if mac in line:
<——> return line
——————————————————————————–

Косяк во второй функции она поставляет только один MAC и обрывает цикл. Я думаю точно изложил свои мысли Ed?
Ed
Ну, уже получше, но все еще довольно сумбурно.
Я правильно понял, что вы хотите, чтобы findinfo находил не только первую строку с MAC-адресом, а и все остальные?
Если да, то не нужно делать return line. Вместо этого нужно сохранять строки в список и потом возвращать список.
Как-нибудь так:
def findinfo(mac):
lines = []
for line in fileinput.input(glob.glob('vlan*.txt')):
if mac in line:
lines.append(line)
return lines
Либо тоже самое, но короче:
def findinfo(mac):
return [line for line in fileinput.input(glob.glob('vlan*.txt')) if mac in line]
Кстати, код этот плохо пахнет из-за захардкоженого ‘vlan*.txt’.
И еще, весь алгоритм весьма неэффективен. Для каждого мака каждый раз происходит чтение всех файлов. Логичнее было бы их прочитать один раз, а потом уже искать в них,
либо (если файлов много или они большие и не лезут в память) прочитать все маки, а потом открывать файлы по очереди и искать в них маки. Будет намного быстрее.
avdoshkin
Ed, все правильно понял, спасибо! Я учту что ты посоветовал мне т.к. для коммутаторов много что еще придется сделать.
Твой код не совсем правильно обрабатывает:

————————————————————————————–
def findinfo(mac):
return
————————————————————————————–
в результате:
11 134 00:e0:4c:df:77:16 10.8.43.14 korzun
26 803 00:0b:fd:68:9b:88 10.8.43.14 korzun
26 803 00:18:74:17:94:00 10.8.43.14 korzun
26 843 00:02:02:0e:cb:14 10.8.43.14 korzun
—————————————————————————————
нашел одно сопоставление и подставляет всем.
Ed
Что именно там повторяется? Мой код банально возвращает строки из всех файлов, которые содержат mac, переданный в функцию.
Там вроде нечему быть неправильным. Скорее всего проблемы где-то дальше. Если ты покажешь как ты обрабатываешь то, что возвращает findinfo, то может я чего и присоветую.
avdoshkin
Ed
Что именно там повторяется? Мой код банально возвращает строки из всех файлов, которые содержат mac, переданный в функцию.
Там вроде нечему быть неправильным. Скорее всего проблемы где-то дальше. Если ты покажешь как ты обрабатываешь то, что возвращает findinfo, то может я чего и присоветую.
Я немного по другому сделал
def findinfo(mac):
v =
for lines in v:
<——>if mac in lines:
<——> return lines

в результате:
срезал
26 25 dynamic 00:14:85:28:d8:86 10.0.255.254 all-gateway
26 25 dynamic 00:1b:11:ea:92:85 10.0.25.23 des_drsu
Traceback (most recent call last):
File “./dlink_mac_new.py”, line 62, in <module>
dmac()
File “./dlink_mac_new.py”, line 49, in dmac
ip = data.split()
AttributeError: ‘NoneType’ object has no attribute ‘split’
avdoshkin
avdoshkin
Ed
Что именно там повторяется? Мой код банально возвращает строки из всех файлов, которые содержат mac, переданный в функцию.
Там вроде нечему быть неправильным. Скорее всего проблемы где-то дальше. Если ты покажешь как ты обрабатываешь то, что возвращает findinfo, то может я чего и присоветую.
Я немного по другому сделал
def findinfo(mac):
v =
for lines in v:
<——>if mac in lines:
<——> return lines

в результате:
срезал
26 25 dynamic 00:14:85:28:d8:86 10.0.255.254 all-gateway
26 25 dynamic 00:1b:11:ea:92:85 10.0.25.23 des_drsu
Traceback (most recent call last):
File “./dlink_mac_new.py”, line 62, in <module>
dmac()
File “./dlink_mac_new.py”, line 49, in dmac
ip = data.split()
AttributeError: ‘NoneType’ object has no attribute ‘split’
def dmac():
user="xxxx"
password="xxxx"
host = raw_input("Input switch NAME or IP address:")
if (host == 'q'):
sys.exit()
while str(host) == "":
print '\v!!!Please, input name SW!!!\v'
host = raw_input("Input switch NAME or IP address:")
if host == 'q':
raw_input('\v\vPress key Enter')
sys.exit(0)

tn = telnetlib.Telnet(host)
tn.set_debuglevel(0)

tn.read_until("username:")
tn.write(user+"\n")
tn.write(password+"\n")

tn.write("show fdb\n")
tn.write("a\n")
tn.write("logout\n")
a = tn.read_all()
tn.close()
a1 = a.lower()
print 'PORT VLAN TYPE MAC ADDRESS IP ADDRESS NAME'
print '-'* 65
for line in a1.split('\n'):
if( ('dynamic' in line) or ('self' in line) or ('permanent' in line)):
vlan = line.split()[0]
mac = line.split()[-3].replace('-',':')
port = line.split()[-2]
dtype = line.split()[-1]
data = findinfo(mac)
ip = data.split()[0]
name = data.split()[-1]
print '%s\t %s\t %s\t %s\t %s\t %s' % (port,vlan,dtype,mac,ip,name)
raw_input('\v\vPress key Enter')
os.system("clear")

def findinfo(mac):
v = [line for line in fileinput.input(glob.glob('/home/bin/py_scripts/vlan/vlan*.txt')) if not '#' in line]
for lines in v:
if mac in lines:
return lines

if __name__ == '__main__':
dmac()
Ed
У нас с тобой какое-то фатальное непонимание, видимо.
Насколько я вижу твое изменение превратило функцию findinfo, которая возвращала список строк с искомым mac из всех файлов на возвращающую одну(первую) строку. И это резко отличается от моего понимания задачи. Кроме того это привело к возврате None, когда MAC не нашелся ни в одном файле и, как следствие, к AttributeError, который ты и пронаблюдал.

Давай лучше так: Ты нарисуй пример того, что у тебя приходит от коммутатора (то, что возвращает tn.read_all()),
пример того, что лежит в файлах vlan*.txt и пример того, чего ты хочешь на выходе. Желательно, чтобы пример включал в себя случай, когда один MAC встречается в vlan*.txt несколько раз.
Иначе мы долго будем тут с тобой барахтаться.
avdoshkin
Ed
У нас с тобой какое-то фатальное непонимание, видимо.
Насколько я вижу твое изменение превратило функцию findinfo, которая возвращала список строк с искомым mac из всех файлов на возвращающую одну(первую) строку. И это резко отличается от моего понимания задачи. Кроме того это привело к возврате None, когда MAC не нашелся ни в одном файле и, как следствие, к AttributeError, который ты и пронаблюдал.

Давай лучше так: Ты нарисуй пример того, что у тебя приходит от коммутатора (то, что возвращает tn.read_all()),
пример того, что лежит в файлах vlan*.txt и пример того, чего ты хочешь на выходе. Желательно, чтобы пример включал в себя случай, когда один MAC встречается в vlan*.txt несколько раз.
Иначе мы долго будем тут с тобой барахтаться.
print tn.read_all()

sintadm
password:**********

des-3526:admin#show fdb
command: show fdb

unicast mac address ageing time = 300
vid vlan name mac address port type
---- ---------------- ----------------- ------ ----------------
5 5 00-0a-5e-65-c5-ac 26 dynamic
11 11 00-13-46-6a-7f-bc 26 dynamic
11 11 00-14-85-28-d8-86 26 dynamic
11 11 00-15-e9-3d-40-a1 26 dynamic
11 11 00-15-e9-86-e2-5e 26 dynamic
11 11 00-15-e9-ac-2a-03 26 dynamic
11 11 00-19-5b-84-ec-d7 26 dynamic
11 11 00-19-5b-84-ec-f2 26 dynamic
11 11 00-19-5b-86-25-1b 26 dynamic
11 11 00-19-5b-86-25-39 26 dynamic
11 11 00-19-5b-89-4f-51 26 dynamic
11 11 00-19-5b-d3-d0-b7 26 dynamic
11 11 00-19-5b-d3-d0-e2 26 dynamic
11 11 00-19-5b-d3-d0-e5 26 dynamic
11 11 00-19-5b-d3-d1-a3 26 dynamic
11 11 00-19-5b-d3-d2-5f 26 dynamic
11 11 00-19-5b-d3-d2-73 26 dynamic
11 11 00-19-5b-d3-d4-6b 26 dynamic
11 11 00-19-5b-ed-80-50 26 dynamic

11 11 00-19-5b-ed-80-5a 26 dynamic
11 11 00-19-5b-ed-9d-57 26 dynamic
11 11 00-19-5b-fb-67-34 26 dynamic
11 11 00-19-5b-fd-de-45 26 dynamic
11 11 00-19-5b-fd-e1-19 26 dynamic
11 11 00-19-5b-fd-e3-d5 26 dynamic
11 11 00-19-5b-fe-55-d6 26 dynamic
11 11 00-19-5b-fe-56-87 26 dynamic
11 11 00-1b-11-af-cf-d4 cpu self
11 11 00-1b-11-af-cf-ea 26 dynamic
11 11 00-1b-11-af-cf-f0 26 dynamic
11 11 00-1b-11-af-d0-2d 26 dynamic
11 11 00-1b-11-b5-d2-1f 26 dynamic
11 11 00-1c-f0-0f-c5-c2 26 dynamic
11 11 00-1c-f0-20-53-c0 26 dynamic
11 11 00-1e-58-98-f4-2c 26 dynamic
11 11 00-1e-58-9e-af-73 26 dynamic
11 11 00-1e-58-9e-e7-93 26 dynamic
11 11 00-1e-58-9e-ea-2f 26 dynamic
11 11 00-1e-58-a9-05-50 26 dynamic
11 11 00-1e-58-a9-0a-55 26 dynamic
11 11 00-1e-58-a9-0a-5e 26 dynamic
11 11 00-1e-58-a9-0c-82 26 dynamic
11 11 00-1e-58-a9-0c-c8 26 dynamic
22 22 00-11-95-10-fc-08 26 dynamic
22 22 00-14-85-28-d8-86 26 dynamic
25 25 00-1b-11-ea-92-85 26 dynamic
80 80 00-00-20-20-02-00 26 dynamic
80 80 00-0d-61-36-75-50 24 dynamic
80 80 00-0f-3d-21-4f-ab 26 dynamic
80 80 00-14-85-ec-4f-28 24 dynamic
80 80 00-1a-4d-56-c2-17 24 dynamic
80 80 00-1a-92-16-84-12 26 dynamic
80 80 00-1b-fc-32-57-d2 24 dynamic
80 80 00-1c-c0-d0-23-c9 26 dynamic
80 80 00-1e-8c-16-8c-22 24 dynamic
80 80 00-1f-c6-b3-22-6b 26 dynamic
80 80 00-24-81-d1-e5-92 26 dynamic
80 80 00-26-18-44-77-49 24 dynamic
80 80 00-e0-4c-63-d9-da 24 dynamic
134 134 00-04-61-4a-22-62 26 dynamic
134 134 00-08-a1-44-93-a6 4 permanent
134 134 00-0d-88-41-d2-fd 8 dynamic
134 134 00-14-85-28-d8-86 26 dynamic
134 134 00-15-e9-41-a7-cd 3 dynamic
134 134 00-15-e9-42-13-6b 26 dynamic
134 134 00-17-31-c5-59-27 26 dynamic
134 134 00-17-9a-0c-a5-2c 10 dynamic
134 134 00-1c-c5-d7-cb-1b 26 dynamic
134 134 00-1c-f0-a6-87-50 26 dynamic
134 134 00-1d-7d-05-9d-25 26 dynamic
134 134 00-21-85-66-a7-f5 13 dynamic
134 134 00-21-91-3b-7a-c1 23 dynamic
134 134 00-22-b0-de-49-f7 24 dynamic
134 134 00-40-d0-c1-79-a3 26 dynamic
803 00-18-74-17-94-00 26 dynamic

total entries : 75

des-3526:admin#
des-3526:admin#logout
command: logout

------------------------------------------------------------------
cat vlan314.txt
# vlanident vlan314 10.3.14.254 255.255.255.0 10.3.14.0 UVR-Mankevicha_31 nat=188.65.50.74
# Ip adress Mac adress Interface Name Spec
10.3.14.1 00:1d:60:76:11:ed vlan314 fabos
10.3.14.2 00:22:b0:db:36:74 vlan314 bakulina_oa_dvg
10.3.14.3 00:19:21:2f:aa:fb vlan314 katrechko
10.3.14.4 00:21:85:5a:96:56 vlan314 bratkovsky2
10.3.14.5 00:0f:ea:5a:72:11 vlan314 spirin
10.3.14.7 00:11:95:f5:74:d6 vlan314 mihailova
10.3.14.9 00:1d:7d:99:cb:12 vlan314 krasnih
10.3.14.10 00:23:54:65:b5:27 vlan314 durnajkin
10.3.14.11 00:15:e9:41:f5:60 vlan314 romanenko_si
10.3.14.12 00:30:18:3d:d3:e1 vlan314 storchakov
10.3.14.13 00:15:e9:a0:d7:05 vlan314 dvg-revol20_spec
10.3.14.14 00:1b:11:bd:b9:1f vlan314 ludvikov
10.3.14.15 00:1c:f0:d0:8a:61 vlan314 staricin
10.3.14.16 00:1d:60:36:1c:c6 vlan314 bandishoev
10.3.14.17 00:1c:f0:8f:82:c5 vlan314 durnajkin-dvg
10.3.14.18 00:1c:f0:8f:83:75 vlan314 brizgalov-dvg
10.3.14.19 00:14:85:64:38:fc vlan314 brizgalov_vf
10.3.14.20 00:40:f4:b2:84:65 vlan314 zajceva_oj
10.3.14.21 00:03:25:09:4a:d6 vlan314 egorov_on2
10.3.14.23 00:1b:11:23:60:34 vlan314 egorovhome-dvg
10.3.14.24 00:1c:f0:8f:83:84 vlan314 mosiichuk-dvg
10.3.14.25 00:22:b0:de:2a:81 vlan314 zhilyaev
10.3.14.26 00:19:5b:74:3a:08 vlan314 ogarkov
10.3.14.27 00:14:85:e4:84:60 vlan314 gordeychuk
10.3.14.28 00:0d:61:a8:54:0b vlan314 stepanov_a
10.3.14.29 00:1b:fc:75:86:f1 vlan314 shubkina_na
10.3.14.30 00:13:77:6f:ce:fb vlan314 moiseenko_eg
10.3.14.31 00:1e:58:aa:f7:11 vlan314 sudak_ia
10.3.14.32 00:1d:7d:0a:cb:fa vlan314 dubina
10.3.14.33 00:1b:24:e4:c7:c8 vlan314 taran_tn
10.3.14.34 00:1f:c6:bc:65:4f vlan314 gavrilets
10.3.14.35 00:1b:38:19:12:54 vlan314 gromov
10.3.14.36 00:21:91:7a:1f:9b vlan314 barmin
10.3.14.37 00:1e:8c:ab:9b:95 vlan314 fedonin
10.3.14.38 00:1e:8c:62:2a:7d vlan314 handoshka
10.3.14.55 00:1e:58:ab:36:e7 vlan314 grechkina
10.3.14.58 00:0f:ea:ff:8b:82 vlan314 gordo
10.3.14.59 00:1b:fc:38:59:72 vlan314 grebenshikova
10.3.14.60 00:04:61:7d:bd:b0 vlan314 vodennikova
10.3.14.61 00:1e:58:af:30:2d vlan314 shurigin
10.3.14.62 00:1e:58:aa:f7:17 vlan314 shirinkina
10.3.14.64 00:1e:68:f7:37:06 vlan314 trofimov_av
10.3.14.65 00:13:8f:3c:3e:b0 vlan314 chmelevskiy
10.3.14.66 00:22:b0:9e:62:94 vlan314 romanova_is
10.3.14.67 00:04:61:71:f4:6f vlan314 kondrashova
#10.3.14.68 00:1f:d0:8a:0b:50 vlan314 kislyakov Wed Dec 09 17:05:47 KRAT 2009
10.3.14.69 00:1f:d0:05:0f:76 vlan314 bratkovsky
10.3.14.70 00:23:54:13:9e:72 vlan314 egorov_book_sv
10.3.14.71 00:22:b0:9e:63:91 vlan314 kuzminskaya_phone
10.3.14.72 00:19:21:3d:53:43 vlan314 shanin_av
10.3.14.73 00:40:ca:d6:0a:3b vlan314 uskova_no
10.3.14.74 00:24:01:05:11:a0 vlan314 pronkina
10.3.14.75 00:24:01:00:f0:90 vlan314 anfilova
10.3.14.76 00:1f:d0:8a:0b:50 vlan314 kislyakova_tv
10.3.14.208 00:13:46:ff:60:48 vlan314 phone208-314
10.3.14.77 00:05:5d:d4:1c:3b vlan314 ermakov_vn

---------------------------------------------------------------------------------------------
cat vlan0.txt
# vlaniden vlan0 10.0.255.254 255.255.255.0 10.0.255.0 Gateway
# Ip adress Mac adress Interface Name Spec
10.0.255.254 00:14:85:28:d8:86 vlan0 all-gateway
-------------------------------------------------------------------------------------------------
cat vlan.loop
# Ip adress Mac adress Interface Name Spec
xxx.xxx.xxx.253 00:14:85:28:d8:86 lo sshh
xxx.xxx.xxx.129 00:14:85:28:d8:86 lo osmp
xxx.xxx.xxx.254 00:14:85:28:d8:86 beta ns

-------------------------------------------------------------------------------------------------
Нужно получить:

Port Vlan Mac address ip address name
CPU 11 00:1b:11:af:cf:d4 10.0.11.43 mon3-33
3 134 00:15:e9:41:a7:cd 10.1.34.17 kinzjbulatov
4 134 00:08:a1:44:93:a6 !<Not register on server dhcp>!
8 134 00:0d:88:41:d2:fd 10.1.34.26 grushevsky
10 134 00:17:9a:0c:a5:2c 10.1.34.19 shnitulenko
13 134 00:21:85:66:a7:f5 10.1.34.22 lavrenov
23 134 00:21:91:3b:7a:c1 10.1.34.63 rostinvest
24 134 00:22:b0:de:49:f7 10.1.34.54 ip_testova
24 80 00:0d:61:36:75:50 !<Not register on server dhcp>!
24 80 00:1a:4d:56:c2:17 !<Not register on server dhcp>!
24 80 00:1e:8c:16:8c:22 !<Not register on server dhcp>!
24 80 00:26:18:44:77:49 !<Not register on server dhcp>!
24 80 00:e0:4c:63:d9:da !<Not register on server dhcp>!
26 11 00:14:85:28:d8:86 10.0.255.254 all-gateway
26 11 00:15:e9:86:e2:5e 10.0.1.2 des-526
26 11 00:19:5b:84:ec:da 10.0.11.96 sint-table
26 11 00:19:5b:84:ec:fa 10.0.11.110 sint-off
26 11 00:19:5b:84:ec:fc 10.0.11.108 mon6-8
26 11 00:19:5b:86:25:11 10.0.11.51 frunze-12
26 11 00:19:5b:86:25:2c 10.0.11.45 mon3-35
26 11 00:19:5b:86:25:3a 10.0.11.12 uvr-8
26 11 00:19:5b:86:25:5e 10.0.11.56 kv7b-2
26 11 00:19:5b:89:4f:47 10.0.11.192 mon5-22b
26 11 00:19:5b:89:4f:4f 10.0.11.198 mon6-9
26 11 00:19:5b:8b:5b:c9 10.0.11.165 kv7b-1
26 11 00:19:5b:d3:d0:e3 10.0.11.176 mon8-4
26 11 00:19:5b:d3:d0:e4 10.0.11.178 mon8-10
26 11 00:19:5b:d3:d1:a1 10.0.11.157 uvr-26_2
26 11 00:19:5b:d3:d4:51 10.0.11.124 mon1-36
26 11 00:19:5b:d3:d4:56 10.0.11.120 mon1-40
26 11 00:19:5b:d3:d4:58 10.0.11.154 mon6-12
26 11 00:19:5b:d3:d4:68 10.0.11.137 uvr-6
26 11 00:19:5b:d3:d4:6d 10.0.11.148 mon3-6
26 11 00:19:5b:fd:de:40 10.0.11.150 mon1-39
26 11 00:19:5b:fd:e3:cf 10.0.11.159 mon8-11
26 11 00:19:5b:fd:e3:dc 10.0.11.212 mon6-10
26 11 00:19:5b:fd:e3:e8 10.0.11.142 vg-27
26 11 00:19:5b:fd:e3:fe 10.0.11.139 mon2-18
26 11 00:19:5b:fe:56:86 10.0.11.145 vg-26
26 11 00:19:5b:fe:79:a1 10.0.11.175 mon6-3
26 11 00:19:5b:fe:79:ab 10.0.11.173 mon6-5
26 11 00:19:5b:fe:79:ad 10.0.11.174 mon6-2
26 11 00:19:5b:fe:79:b3 10.0.11.207 mon7-6
26 11 00:19:5b:fe:7a:7b 10.0.11.168 mon8-1
26 11 00:19:5b:fe:7a:7e 10.0.11.169 lenina-117
26 11 00:19:5b:fe:7a:86 10.0.11.170 mon8-13
26 11 00:1b:11:af:cf:ec 10.0.11.78 mira-13
26 11 00:1b:11:af:d0:2e 10.0.11.85 uvr-57
26 11 00:1b:11:af:d0:a6 10.0.11.112 mon7-7
26 11 00:1b:11:af:d1:0f 10.0.11.70 mira-11
26 11 00:1b:11:b5:d2:27 10.0.11.141 uvr-17
26 11 00:1b:11:b5:d2:37 10.0.11.63 frunze-9
26 11 00:1b:11:b5:f3:51 10.0.11.47 mon4-3
26 11 00:1b:11:b8:ad:42 10.0.11.6 sint-2et
26 11 00:1c:f0:0f:c5:a4 10.0.11.53 mon4-16
26 11 00:1c:f0:20:53:c0 10.0.11.201 ats7-dgs
26 11 00:1e:58:4c:3c:f1 10.0.11.234 mon4-2
26 11 00:1e:58:98:f7:cb 10.0.11.13 mon8-16_3
26 11 00:1e:58:98:fb:a9 10.0.11.156 mon6-4
26 11 00:1e:58:9e:7a:e3 10.0.11.222 mon3-23
26 11 00:1e:58:a3:4f:74 10.0.11.202 sint-off_spec
26 11 00:1e:58:a3:63:1d 10.0.11.183 mon7-9
26 11 00:1e:58:a9:0a:80 10.0.11.193 mon5-26_2
26 11 00:1e:58:a9:0c:8a 10.0.11.223 vg-2a
26 11 00:1e:58:a9:31:21 10.0.11.24 vg-27_2
26 134 00:04:61:4a:22:62 10.1.34.38 lyaschenko
26 134 00:14:85:28:d8:86 10.0.255.254 all-gateway
26 134 00:15:e9:42:13:6b 10.1.34.43 shestakova
26 134 00:17:31:c5:59:27 !<Not register on server dhcp>!
26 134 00:1c:c5:d7:cb:1b 10.1.34.12 shirinkina_rdot
26 134 00:1c:f0:d0:8c:35 10.1.34.5 bondarenko_ov
26 134 00:1d:7d:05:9d:25 188.65.48.93 bsd63_spec
26 134 00:1e:58:aa:be:ab 10.1.34.48 romanova_sv
26 134 00:1e:8c:9d:81:c1 10.1.34.45 voronina_aa
26 134 00:40:d0:c1:79:a3 10.1.34.11 handoshko
26 22 00:14:85:28:d8:86 10.0.255.254 all-gateway
26 25 00:1b:11:ea:92:85 10.0.25.23 des_drsu
26 80 00:0f:3d:21:4f:ab !<Not register on server dhcp>!
26 80 00:19:17:40:3d:76 !<Not register on server dhcp>!
26 80 00:19:17:40:3d:81 !<Not register on server dhcp>!
26 80 00:1a:92:16:84:12 !<Not register on server dhcp>!
26 80 00:1c:c0:d0:23:c9 !<Not register on server dhcp>!
26 80 00:24:81:d1:e5:92 !<Not register on server dhcp>!
-----------------------------------------------------------------------------------------------------------
Не известные MAC Address нужно возвращать в первую функцию и метить их как !<Not register on server dhcp>!
Ed
Спасибо. Вопрос есть. Смотрим на строчки с MAC 00:14:85:28:d8:86.
Они есть в vlan0.txt(одна) и в vlan.loop(три):
10.0.255.254 00:14:85:28:d8:86 vlan0 all-gateway
xxx.xxx.xxx.253 00:14:85:28:d8:86 lo sshh
xxx.xxx.xxx.129 00:14:85:28:d8:86 lo osmp
xxx.xxx.xxx.254 00:14:85:28:d8:86 beta ns

В результате же их три(ровно столько, сколько во входных данных с коммутатора) и все с одним и тем же ip и name.
26 11 00:14:85:28:d8:86 10.0.255.254 all-gateway
26 134 00:14:85:28:d8:86 10.0.255.254 all-gateway
26 22 00:14:85:28:d8:86 10.0.255.254 all-gateway

То есть нужно все-таки находить первую строку с нужным MAC, а остальные игнорировать, так?
В данном случае мы находим ее в vlan0.txt и берем из нее ip(10.0.255.254) и name(all-gateway), а то, что находится в vlan.loop мы тупо игнорируем.
Я правильно понял?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB