Не выполняется команда telnet
не выполняется tn.write() если перед ней стоит tn.read_until()
import telnetlib
from time import sleep
tn_host = "127.0.0.1"
port = 48655
loop = 100
tn = None
print('Waiting for telnet to start on ' + str(port))
while loop > 0:
pass
try:
tn = telnetlib.Telnet(tn_host, port)
except ConnectionRefusedError:
loop -= 1
pass
if tn != None:
loop = 0
print('Telnet connection on ' + str(port) + ' successful')
tn.read_until(b'Change\r\n',40)
tn = telnetlib.Telnet(tn_host, port)
tn.write(b'exec\n')
print(5)
Выше приведенный код должен ожидать сообщения b'Change\r\n' и потом посылать команду exec а также выводить на экран 5 Проблема в том что после того как поступило сообщение b'Change\r\n' он не выполняет команду tn.write(b'exec\n') но цифру 5 на экран выводит
Я пробовал вот так:
import telnetlib
tn = telnetlib.Telnet(tn_host, port)
tn.write(b'exec\n')
И если делать так то все выполняется но мне нужно выполнить tn.write(b'exec\n') только после того как поступит сообщение b'Change\r\n'
Как мне решить эту проблему ?