[問題] 請問將 telnet output 存入檔案的問題
各位大大和前輩好,
小弟是初學 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
10/30 20:07, 1F
→
10/30 20:07, , 2F
10/30 20:07, 2F
抱歉,不是很了解大大的意思,可以請大大進一步解說嗎? 謝謝。 ^___^
※ 編輯: soilstone (60.245.65.133), 10/30/2016 21:54:01