2016-07-01 77 views
0

我正在研究使用python的telnetlib連接到路由器並執行命令並將輸出存儲在文件中的代碼。我使用read_until('#')函數並期待Router提示符,然後執行下一個命令,但是當我從遠程telnet端收到'--More--'數據時,我的代碼凍結了。我嘗試使用模式匹配來查找'--More--',但之後有時候--More--關鍵字不會立即顯示。通過telnet訪問路由器lib python

有什麼建議嗎?

我需要發送一些IAC命令到遠程telnet端嗎?

回答

0

的某個關鍵字 - 更多 - 不來一次

嘗試傳遞一個超時。

實施例:設定超時時間爲5秒read_until()

read_until('--More--', 5) 

或者,可以使用expect()函數來尋找任一「#」或「更多 - 」以超時:

expect(['#', '--More--'], 5) 
+0

我已經完成了他們兩個,但他們不工作。它根本沒有檢測到這個詞。它只是在那裏凍結。 – user3143451

+0

你確定' - 更多 - '在那裏嗎?嘗試使用read_very_eager()代替read_until('--More--'),看看它在那裏。 – victor

+0

我啓用了調試模式,我看到了這個詞...它在那裏 – user3143451

相關問題