[問題] 請問將 telnet output 存入檔案的問題

看板Python作者時間7年前 (2016/10/30 15:50), 7年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
各位大大和前輩好, 小弟是初學 python 的新手,想寫一個自動化測試的程式,程式的目的是自動用 telnet 登入遠端的 switch ,然後把 telnet 指令的 output 存在本機的一個檔案內。目前程 式確實有執行它的工作,但不知為何每次執行程式都會執行很久才結束,都至少 10 分鐘 以上。 小弟的問題為: (1) 為何程式要執行那麼久? 是否因程式有錯誤? 或該如何改善? (2) 為何我在第 18 行加入 tn.read_until(b"Switch#") 後執行會出現如下的錯誤訊息: Traceback (most recent call last): File "D:\Python\telnet_show-switch-info@20161029.py", 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

10/30 20:07, , 1F
tn.read_until (b"Username") 這有中的話
10/30 20:07, 1F

10/30 20:07, , 2F
後面的tn.read_until其實可以不用
10/30 20:07, 2F
抱歉,不是很了解大大的意思,可以請大大進一步解說嗎? 謝謝。 ^___^ ※ 編輯: soilstone (60.245.65.133), 10/30/2016 21:54:01
文章代碼(AID): #1O5QOkCV (Python)