所以我试图在telnet中使用read_until方法,但随后遇到错误:
Traceback (most recent call last):
File "c:\Users\Desktop\7DTD Bot\test.py", line 44, in <module>
tn.read_until("Please enter password:")
File "C:\Users\AppData\Local\Programs\Python\Python37\lib\telnetlib.py",
line 302, in read_until
i = self.cookedq.find(match)
TypeError: argument should be integer or bytes-like object, not 'str'
我几乎可以肯定,这是因为telnet是作为二进制文件而不是文本文件打开的。这是我首先打开它的方式:
HOST = config.get("telnet", "telnet_host")
PORT = config.get("telnet", "telnet_port")
PASS = config.get("telnet", "telnet_pass")
tn = telnetlib.Telnet(HOST, PORT)
tn.read_until("Please enter password:")
PORT
应该是int
类型或bytes-like
对象。当前它是类型str
。像这样将PORT
变量转换为int
。tn = telnetlib.Telnet(HOST, int(PORT))