2017-03-28 10 views
0

を使用して、私はホストオンリーアダプタを介して接続された私のホストへのTelenetにしようとしています:私は読むことができないのですがTelnetはハイテク私のpythonに新しいですPythonの

私のコマンドは

import telnetlib 
import time 


def call_func(): 
    time1 = 2 
    connect = telnetlib.Telnet('192.168.1.100',23,3) 
    connect.write('show version'.encode('ascii')) 
    time.sleep(time1) 
    print (connect.read_very_eager().decode('ascii')) 
    connect.close() 


call_func() 

ですshow versionコマンドの完全な出力なぜ私はそうすることができないのか誰かが説明できますか?

出力が得た: 'R1>のshow version'

答えて

0

あなたはtelnetlib documentation内のすべてのread_方法を読み、その出力を比較することができます。そこには、read_until()だけが "指定されたバイト文字列まで"のテキストを与えることが記載されています。他のすべてのものは、「EOFまでのすべてのデータ」、「I/Oでブロックされないすべてのもの」、「すぐに利用できるデータ」のみを返します。

つまり、read_until()を使用して完全な文字列が返されるようにしてください。 telnetがテキスト全体を返すのを待つ唯一の方法です。

さらに詳しい説明は、同様の質問でhereです。

関連する問題