Чтение вывода с помощью telnetlib для каждой команды - PullRequest
0 голосов
/ 16 апреля 2019

Я использую telnetlib Python для подключения к сетевому маршрутизатору и выполняю несколько команд, и я хочу получить вывод этих команд.

tn   =   telnetlib . Telnet ( "x.x.x.x", 23, 600 ) 
tn.expect([b"login as:"], 5)
tn.write(b'admin\r')
tn.expect([b"Password:"], 5)
tn.write(b"abc\r")
tn.write(b"show version\r")
time.sleep(3)
ret1 = tn.read_eager().decode('ascii')
print("Show Version Start \n")
print(repr(ret1))
print("\nShow Version End")
tn.write(b"exit\r")
print(tn.read_all().decode('ascii'))
tn.close()

Я хочу вывод только в показанной версии, но в ней показываются все выходные данные, есть ли способ получить вывод только из последней выполненной команды?

1 Ответ

1 голос
/ 17 апреля 2019

Забавно, я тоже делаю ту же работу, и я нашел решение, проверьте эту ссылку https://coderwall.com/p/0uxfba/read-stdout-from-telnet-terminal-in-python.

Если вы очистите your_class.data перед вызовом getMoreData, вы всегда сохраните свои последние выходные данные команды в списке данных и сможете распечатать их, чем.

Надеюсь, это поможет

...