0

OSを使用してPythonで次を呼び出せないのはなぜですか?

import os
os.system('telnet 1.1.1.1')

それでも、ターミナルを開いて正確なコマンドを使用すると、telnet できます。コードを実行すると、次のようになります。

「telnet」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。

TelnetClient と TelnetServer を有効にしました

4

2 に答える 2

0

@Jon S.: Telnet や SSH などのプログラムは、本質的にインタラクティブです。したがって、telnet を開くと、その特定の接続を処理するために実行されているシェルから何かが返されます。上記のようなコマンドを実行しようとしたことはありませんが、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 に答える