python - 如何从 telnetlib 命令只读取最后一个缓冲区

标签 python telnetlib

我有以下 python 代码:

import telnetlib
ts = telnetlib.Telnet('192.168.0.2')
ts.set_debuglevel(10)
ts.read_until("assword:", 5)
ts.write("xxxxx\n")
ts.write("enable\n")
ts.read_until("assword:", 5)
ts.write("xxxxx\n")
ts.write("term len 0\n")
ts.write("show start\n")

但是我怎样才能只从“show start”命令读取缓冲区呢? 如果我尝试 read_(very)eager 或 read_all() 我也会得到所有以前的输出。 我很困惑,因为看起来我应该自己解析字符串 :( 也许我错了?

最佳答案

尝试在要获取其输出的命令之前使用 ts.read_until("")

import telnetlib  
ts = telnetlib.Telnet('192.168.0.2')  
ts.set_debuglevel(10) 
ts.read_until("assword:", 5)  
ts.write("xxxxx\n")  
ts.write("enable\n")  
ts.read_until("assword:", 5)  
ts.write("xxxxx\n")   
ts.read_until("")  #Add this line  
ts.write("term len 0\n")   
ts.write("show start\n")`

关于python - 如何从 telnetlib 命令只读取最后一个缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468523/

相关文章:

python - bar3d with python所需的参数

python - 无法与 python 并行(线程)telnet 连接

Python 远程登录客户端

Python Selenium通过导入text/csv文件运行多个测试实例

python - 需要 python 3 中的 telnet 模块教程

Python - 在路由器上远程登录并列出完整结果(点击空格键)

python - 为什么 Pygame 上不允许拖放事件?

python - 为什么经过训练的 Pybrain 网络即使使用输入进行训练也会产生不同的结果

python - 从半径为 R1 和 R2 的圆环内的图像中提取数据点