0
0 комментариев

Python 3.8 Windows

Здравствуйте задача настройка сетевого оборудования и сбор информации

За помощь в написании спасибо stud_55@mail.ru

import telnetlib
import time
import random
import string
import datetime

iprouter = ‘192.168.10.1’
user = ‘admin’
password = ‘123’
loginOffice = ‘A1866-27165′
PassOffice = ’58q4i72F5d7k’
VPNip =»192.168.13.254″
Subnet = «192.168.238.160»
#Создаем переменную текущей даты и времени
now = datetime.datetime.now()
nowt = (now.strftime(«%d-%m-%Y %H:%M»))
#Рандомизатор пароля
def randomStringDigits(stringLength=8):
lettersAndDigits = string.ascii_letters + string.digits
return ».join(random.choice(lettersAndDigits) for i in range(stringLength))
print(«* * * * * * *Новый пароль сгенерирован»)
pas = (randomStringDigits(8))
tn = telnetlib.Telnet(iprouter)
tn.read_until(b»Login: «, timeout=2)
tn.write(user.encode(‘ascii’) + b»\n»)
tn.read_until(b»Password: «, timeout=2)
tn.write(password.encode(‘ascii’) + b»\n»)
tn.read_until(b»(config)> «, timeout=1)
tn.write(‘show version’.encode(‘ascii’) + b»\n»)
time.sleep(2)
# Парсим вывод комманды
out = tn.read_very_eager().decode(‘ascii’)
out = out.split(‘ ‘)
i1 = out.index(‘release:’)
i2 = out.index(‘model:’)
i3 = out.index(‘hw_id:’)
release = (out[i1 + 1])
model = (out[i2 + 1])
hw_id = (out[i3 + 1])

tn.read_until(b»(config)> «, timeout=2)
tn.write(‘show interface PPTP0’.encode(‘ascii’) + b»\n»)
time.sleep(2)
# Парсим вывод комманды
out1 = tn.read_very_eager().decode(‘ascii’)
out1 = out1.split(‘ ‘)
i4 = out1.index(‘description:’)
des = (out1[i4 + 1])
#Запись данных в файл
handle = open(«output.txt», «a»)
handle.write (nowt+»;»+iprouter+»;»+loginOffice+»;»+PassOffice+»;»+VPNip+»;»+Subnet+»;»+pas+»;»+model+» «+hw_id+»;»+release+»;»)
handle.close()

При записи в файл происходит незапланированный перенос данных на следующую строку

;10-12-2019 18:39;192.168.10.1;ASa488we;Extra KN-1710
;3.01.C.10.0-0
;

А должно быть так

10-12-2019 18:38;192.168.10.1;IzNgnAr8;Extra KN-1710;3.01.C.10.0-0;

Скорее всего это происходит из за парсинга доп символов массива вывода но как это исправить я не знаю

[‘\x1b[Ks\x1b[Kh\x1b[Ko\x1b[Kw\x1b[K’, ‘\x1b[Kv\x1b[Ke\x1b[Kr\x1b[Ks\x1b[Ki\x1b[Ko\x1b[Kn\x1b[K\r\n\r\n’, », », », », », », », », », ‘release:’, ‘3.01.C.10.0-0\r\n’, », », », », », », », », », ‘sandbox:’, ‘stable\r\n’, », », », », », », », », », », », ‘title:’, ‘3.1.10\r\n’, », », », », », », », », », », », », ‘arch:’, ‘mips\r\n\r\n’, », », », », », », », », », », », », », ‘ndm:’, ‘\r\n’, », », », », », », », », », », », », », », », ‘exact:’, ‘0-36c7303\r\n’, », », », », », », », », », », », », », », », ‘cdate:’, ’14’, ‘Oct’, ‘2019\r\n\r\n’, », », », », », », », », », », », », », ‘bsp:’, ‘\r\n’, », », », », », », », », », », », », », », », ‘exact:’, ‘0-efd7aa7\r\n’, », », », », », », », », », », », », », », », ‘cdate:’, ’14’, ‘Oct’, ‘2019\r\n\r\n’, », », », », », », », », », », », », », ‘ndw:’, ‘\r\n’, », », », », », », », », », », », », », ‘version:’, ‘3.1.26\r\n’, », », », », », », », », », », », », ‘features:’, ‘wifi_button,single_usb_port,led_control,\r\n’, », », », », », », », », », », », », », », », », », », », », », », ‘wifi5ghz,dual_image,wifi_ft,wpa3\r\n’, », », », », », », », », », », ‘components:’, ‘base,cloudcontrol,config-ap,config-client,\r\n’, », », », », », », », », », », », », », », », », », », », », », », ‘config-repeater,corewireless,dhcpd,dot1x,easyconfig,fat,\r\n’, », », », », », », », », », », », », », », », », », », », », », », ‘ftp,hfsplus,igmp,kabinet,l2tp,miniupnpd,nathelper-ftp,\r\n’, », », », », », », », », », », », », », », », », », », », », », », ‘nathelper-pptp,nathelper-sip,ntfs,pingcheck,ppe,pppoe,\r\n’, », », », », », », », », », », », », », », », », », », », », », », ‘pptp,skydns,storage,trafficcontrol,usb,usbdsl,usblte,\r\n’, », », », », », », », », », », », », », », », », », », », », », », ‘usbmodem,usbnet,usbserial,ydns\r\n\r\n’, », », », », ‘manufacturer:’, ‘Keenetic’, ‘Ltd.\r\n’, », », », », », », », », », », ‘vendor:’, ‘Keenetic\r\n’, », », », », », », », », », », ‘series:’, ‘KN\r\n’, », », », », », », », », », », », ‘model:’, ‘Extra’, ‘(KN-1710)\r\n’, », », », », », », ‘hw_version:’, ‘10178000\r\n’, », », », », », », », », », », », ‘hw_id:’, ‘KN-1710\r\n’, », », », », », », », », », », ‘device:’, ‘Extra\r\n’, », », », », », », », », », », », ‘class:’, ‘Internet’, ‘Center\r\n’, », », », », », », », », », », ‘region:’, ‘RU\r\n’, », », », », », ‘description:’, ‘Keenetic’, ‘Extra’, ‘(KN-1710)\r\n\r\n(config)>’, ‘\x1b[K’]

‘model:’, ‘Extra’, ‘(KN-1710)\r\n’

‘release:’, ‘3.01.C.10.0-0\r\n’

Еще подскажите пожалуйста по парсингу я бы хотел получать на выходе в переменной

model Extra (KN-1710)

а release наоборот сократить до 3.01

заранее спасибо

Решенный вопрос
Добавить комментарий