1

次のpythonコードがあります:

import telnetlib
ts = telnetlib.Telnet('192.168.0.2')
ts.set_debuglevel(10)
ts.read_until("assword:", 5)
ts.write("xxxxx\n")
ts.write("enable\n")
ts.read_until("assword:", 5)
ts.write("xxxxx\n")
ts.write("term len 0\n")
ts.write("show start\n")

しかし、「show start」コマンドからのみバッファを読み取るにはどうすればよいですか? read_(very)eager または read_all() を実行しようとすると、以前の出力もすべて取得されます。自分のwrrrで文字列を解析する必要があるように見えるので、混乱しています:(多分間違っていますか?

4

1 に答える 1

4

ts.read_until("")出力を取得したいコマンドの前に使用してみてください

import telnetlib  
ts = telnetlib.Telnet('192.168.0.2')  
ts.set_debuglevel(10) 
ts.read_until("assword:", 5)  
ts.write("xxxxx\n")  
ts.write("enable\n")  
ts.read_until("assword:", 5)  
ts.write("xxxxx\n")   
ts.read_until("")  #Add this line  
ts.write("term len 0\n")   
ts.write("show start\n")`
于 2011-03-22T16:34:39.323 に答える