我遇到了问题。我正在使用Python中的telnetlib库连接到输出系统故障的系统。该系统很旧,可以通过建立连接并为任何问题输出警报来工作。
首先输出连接时的所有当前警报。然后,它将保持连接打开状态,并发送保持活动消息或警报。
所发送的警报以空字符分隔开来回发送。我试图获取telnet输出的所有数据,然后将其通过一个函数传递,但是当我尝试使用Telnet.read_all()
时,它只是保持连接打开,并且在超时之前不会运行其余代码。
或者我试图让telnetlib一次读取一行并执行一次处理一行的功能,但是当我尝试使用Telnet.read_until(expected[, timeout])
时,它要么返回b''
,要么返回与Telnet.read_all()
相同,并等待直到超时。
有人知道我如何使它看到空字节然后循环执行每条指令,或者将数据块块从telnet中取出,然后使用str.replace
删除它吗?