看板 Python 關於我們 聯絡資訊
各位大大和前輩好, 小弟是初學 python 的新手,想寫一個自動化測試的程式,程式的目的是自動用 telnet 登入遠端的 switch ,然後把 telnet 指令的 output 存在本機的一個檔案內。目前程 式確實有執行它的工作,但不知為何每次執行程式都會執行很久才結束,都至少 10 分鐘 以上。 小弟的問題為: (1) 為何程式要執行那麼久? 是否因程式有錯誤? 或該如何改善? (2) 為何我在第 18 行加入 tn.read_until(b"Switch#") 後執行會出現如下的錯誤訊息: Traceback (most recent call last): File "D:\Python\[email protected]", line 22, in <module> tn.read_until(b"Switch#") File "C:\Users\SQA\AppData\Local\Programs\Python\Python36\lib\telnetlib.py", line 327, in read_until return self.read_very_lazy() File "C:\Users\SQA\AppData\Local\Programs\Python\Python36\lib\telnetlib.py", line 403, in read_very_lazy raise EOFError('telnet connection closed') EOFError: telnet connection closed 以下是我的程式(每行我都加了行數,方便大大們閱讀。): ---------------------------------------------------------------- 1 import telnetlib 2 3 4 with open("Switch_SystemInfo.txt","w") as log: 5 6 tn = telnetlib.Telnet("192.168.0.1") 7 tn.read_until (b"Username") 8 tn.write(b"admin\n\r") 9 tn.read_until (b"Password:") 10 tn.write(b"\n\r") 11 tn.read_until (b"Switch>") 12 tn.write(b"en\n\r") 13 tn.read_until (b"Password:") 14 tn.write(b"\n\r") 15 tn.read_until(b"Switch#") 16 tn.write(b"sh switch-info\n\r") 17 sysInfo = tn.read_all() 18 19 log.write(str(sysInfo)) 20 tn.close() 先謝謝大大們了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.22.138 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1477813806.A.31F.html
chababa: tn.read_until (b"Username") 這有中的話 10/30 20:07
chababa: 後面的tn.read_until其實可以不用 10/30 20:07
抱歉,不是很了解大大的意思,可以請大大進一步解說嗎? 謝謝。 ^___^ ※ 編輯: soilstone (60.245.65.133), 10/30/2016 21:54:01