telnetlib交互式控制台与scrip

2024-10-01 04:54:11 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是,我的脚本不能工作(它打印的是空通道),但它可以在python交互控制台中工作。在

import telnetlib

tn = telnetlib.Telnet("killermud.pl", 4000)
data = tn.read_very_eager()
data = data.decode()
print(data)
tn.close()

这种行为的原因是什么?在


Tags: import脚本closereaddata原因telnettn
2条回答

根据tlnetlib文件,Telnet.read_非常渴望()如果连接关闭且没有可用的熟数据,则引发EOFError。如果没有可用的熟数据,则返回“”。除非在IAC序列中,否则不要阻塞。 如果data==“”,则返回true,因此,这意味着没有可用的cooked数据

我刚刚看了read_very_eager方法的文档,上面说:

Read all data available already queued or on the socket, without blocking.

很可能在您调用此方法时没有“已经可用或已在套接字上排队”的数据,因此您什么也得不到。您可能需要使用类似于read_until方法,它将读取数据,直到找到特定的字符串。例如:

data = tn.read_until('Podaj swoje imie')

相关问题 更多 >