-1
私のプログラムでは疑わしいデバイスのリストにtelnetが必要ですが、ホスト名はすべて異なりますが、以下で囲むたびに、telnetlib read_untilは、期待するホスト名が不明なため動作しません
私の問題は、ユーザ名を入力しようとする前にtelnetlib
にread_until引数が必要であることです。私のインスタンスでは、そのホスト名がわかりません。
import telnetlib
username = 'admin'
password = 'password'
text = []
def telnet2():
tn = telnetlib.Telnet('10.10.10.199')
tn.write(username + "\r\n")
if password:
tn.read_until('Password: ')
tn.write(password + '\r\n')
tn.write('enable \r\n')
tn.write('show poe status \r\n')
tn.write('show mac-address-table \r\n')
tn.write('exit \r\n')
text.append(tn.read_all())
telnet2()
可能なホスト名
ホスト名を抽出する希望が、予想コードなどのコマンドがハングして、変数としてread_allを保存して、それを読んでみました
Switch_100-110
0この場合エクストラ
は、ホスト名はSwitch_109ですが、私は手動で接続されていなかったかどうかを確認することを知らないだろう。
**エラーメッセージ**
`File "connect2.py", line 18, in telnet2
print(tn.read_all())
File "/usr/lib/python2.7/telnetlib.py", line 385, in read_all
self.fill_rawq()
File "/usr/lib/python2.7/telnetlib.py", line 576, in fill_rawq
buf = self.sock.recv(50)`
-1理由を説明してください。なぜなら、何らかの理由で、あなたに尋ねます。ありがとうございます。 –
ユーザー名を入力する前にデバイスの出力がどのように見えるのですか?確かにそこに*いくつかの定数テキストがあり、あなたが読むまで読むことができます。 – jasonharper
私は 'tn.read_until( 'switch _')'を試みましたが、役に立たない - OPにエラーメッセージを添付します –