我有以下 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/