Чтение вывода с помощью telnetlib в реальном времени

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

Итак, каков текущий сценарий-

tn = telnetlib.Telnet(HOST)
tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("command1")
tn.write("command2")
tn.write("command3")
tn.write("command4")
tn.write("exit\n")

sess_op = tn.read_all()
print sess_op
#here I get the whole output

Теперь я могу получить все консолидированные выходные данные в sess_op.

Но я хочу получить вывод команды1 сразу после ее выполнения и до выполнения команды2, как если бы я работал в оболочке другой машины, как показано здесь-

tn = telnetlib.Telnet(HOST)
tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("command1")
#here I want to get the output for command1
tn.write("command2")
#here I want to get the output for command2
tn.write("command3")
tn.write("command4")
tn.write("exit\n")

sess_op = tn.read_all()
print sess_op
6
задан theharshest 12 April 2012 в 14:59
поделиться