为什么我不能使用 os 在 python 中调用以下命令?
import os
os.system('telnet 1.1.1.1')
然而,当我打开终端并使用确切的命令时,我可以远程登录。运行代码时我得到以下信息:
'telnet' 不是内部或外部命令、可运行程序或批处理文件。
我已启用 TelnetClient 和 TelnetServer
为什么我不能使用 os 在 python 中调用以下命令?
import os
os.system('telnet 1.1.1.1')
然而,当我打开终端并使用确切的命令时,我可以远程登录。运行代码时我得到以下信息:
'telnet' 不是内部或外部命令、可运行程序或批处理文件。
我已启用 TelnetClient 和 TelnetServer
@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()
希望这可以帮助。
试试看os.system('C:/Windows/System32/telnet.exe 1.1.1.1 <port number>')
会发生什么?