0

为什么我不能使用 os 在 python 中调用以下命令?

import os
os.system('telnet 1.1.1.1')

然而,当我打开终端并使用确切的命令时,我可以远程登录。运行代码时我得到以下信息:

'telnet' 不是内部或外部命令、可运行程序或批处理文件。

我已启用 TelnetClient 和 TelnetServer

4

2 回答 2

0

@Jon S.:Telnet 和 SSH 等程序本质上是交互式的。因此,当您打开 telnet 时,它会从正在运行的 shell 返回一些内容以处理该特定连接。我没有尝试像你上面提到的那样运行命令,但我过去在 Windows 中成功使用过 python 的 'telnetlib' 并且仍在使用它。这是一个可以提供帮助的片段。

import telnetlib
import os

host_ip = "1.1.1.1"
user = "user"
password = "password"

tnet_hndl = telnetlib.Telnet(host_ip)
print (tnet_hndl.read_until(b"login: "))
tnet_hndl.write(user.encode('ascii') + b"\n")
print (tnet_hndl.read_until(b"Password: "))
tnet_hndl.write(password.encode('ascii') + b"\n")
print (tnet_hndl.read_until(b"# "))
#tnet_hndl.set_debuglevel(1) #enable this if you want to debug more
tnet_hndl.write(b"<enter some windows cmd here>" + b"\n")
print (tnet_hndl.read_until(b"# "))
tnet_hndl.close()

希望这可以帮助。

于 2013-07-23T18:28:58.173 回答
0

试试看os.system('C:/Windows/System32/telnet.exe 1.1.1.1 <port number>')会发生什么?

于 2013-07-23T18:00:42.193 回答