在python中限制或限制read_very_eager()

时间:2016-03-23 12:57:41

标签: python telnetlib

我正在远程机器上执行一些命令,它使用telnet lib通过telnet会话运行linux。当我提供以下内容时:

tn.write("<binary_name>")
time.sleep(10)
tn.write("cat <path_of_output_file>")
rd_buf=tn.read_very_eager()
print(rd_buf)

它给出了二进制的输出和cat命令的输出。虽然我只想要cat命令的输出。我只与read_very_eagerread_until合作。如何将缓冲区变量限制为仅保留cat命令的内容?

1 个答案:

答案 0 :(得分:0)

在使用read_until()read_very_eager()进行一些游戏之后,我终于解决了这个问题。我所要做的就是:

tn.write("<binary_name>")
time.sleep(10)
junk=tn.read_very_eager()
tn.write("cat <path_of_output_file>")
rd_buf=tn.read_very_eager()
print(rd_buf)

通过添加1行(junk=tn.read_very_eager()),我能够达到我想要的效果。引用python官方文档:

  

Telnet.read_very_eager()

     
    

在I / O(渴望)中读取可以无阻塞的所有内容。

  

我从中得到了一个暗示,并使剧本强行停止阅读&#34;。并开始重新阅读,这符合目的。