各位大大和前辈好,
小弟是初学 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://webptt.com/cn.aspx?n=bbs/Python/M.1477813806.A.31F.html
1F:→ chababa: tn.read_until (b"Username") 这有中的话 10/30 20:07
2F:→ chababa: 後面的tn.read_until其实可以不用 10/30 20:07
抱歉,不是很了解大大的意思,可以请大大进一步解说吗? 谢谢。 ^___^
※ 编辑: soilstone (60.245.65.133), 10/30/2016 21:54:01