我正在尝试在 tetnet 中发送命令,但它不起作用。我尝试在这个论坛中找到不同的代码,但没有人工作。它用于重新启动设备。我正在使用Python 3.6。
import telnetlib
host = "192.168.1.0"
port = 23
timeout = 100
session = telnetlib.Telnet(host, port, timeout)
session.write("administrator\n").encode('ascii')
session.write("password\n").encode('ascii')
session.write("reboot\n").encode('ascii')
最佳答案
Telnet.write()
函数接受一个字节字符串。这可以通过仅编码字符串来提供(您尝试对函数的返回值进行编码),例如
session.write("administrator\n".encode('ascii'))
或者在字符串前添加 b
前缀,如下所示:
import telnetlib
host = "192.168.1.0"
port = 23
timeout = 100
with telnetlib.Telnet(host, port, timeout) as session:
session.write(b"administrator\n")
session.write(b"password\n")
session.write(b"reboot\n")
关于python - 在python中发送telnet命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51186355/