2014-10-09 6 views
0

Я пытаюсь читать из сига маршрутизатора с помощью telnetlibtelnetlib питон read_all() не работает (зависает)

import telnetlib 
tn = telnetlib.Telnet(’10.106.218.50’, 17280) 
cmd1=”enable” 
cmd2=”show run” 
#session.write("command".encode('ascii') + b"\r") 
tn.write(cmd1.encode('ascii') + b"\r") 
tn.write(cmd2.encode('ascii') + b"\r") 
#op=tn.read_very_eager() 
#op=tn.read_some() 
#op=tn.read_until('#') 
op=tn.read_all() 
print op 

Я могу написать в консоль маршрутизатора успешно Однако система просто зависает, когда я пытаюсь читать с консоли маршрутизатора. Когда я использую read_some(), я получаю часть выходного. Read_all() просто висит и дает никакого ответа Пожалуйста, предложить решение

ответ

1

команды

read_all() 

в модуле telnetlib питона будет заблокирован, если не будет установлен тайм-аут при подключении.

ваша команда вызова должна выглядеть

tn = telnetlib.Telnet('10.106.218.50', 17280, timeout = 1) 

вы также можете заменить собственное значение тайм-аута.