我正在尝试远程登录到cisco ios-xr路由器并收集命令输出。
我已经测试过以下代码成功连接到路由器并执行命令,但似乎print tn.read_all()
和tn.read_very_eager()
都不起作用。他们不打印任何东西。我在这里遗漏了什么明显的东西吗?
#!/usr/bin/env python
import sys
import telnetlib
import time
HOST = "10.62.53.34"
PORT = "17006"
user = "cisco"
password = "cisco"
tn = telnetlib.Telnet(HOST,PORT)
print "Telnetting to", HOST, "@",PORT
tn.write("\n")
tn.write(user + "\n")
tn.write(password + "\n")
#print("I am in")
tn.write("show runn\n")
tn.write("exit \n")
print tn.read_all()
tn.close()
答案 0 :(得分:0)
虽然这个问题是从2月开始的,但我会发布一个潜在的未来Google搜索者的答案。
当我意识到这一点时,我解决了类似的问题:$users = $this->Posts->Users->get(1, [
'contain' => ['Following.Posts']
]);
...在python 2中有效(参见https://docs.python.org/2/library/telnetlib.html底部的示例),但在python 3(https://docs.python.org/3.6/library/telnetlib.html)中没有。
对于python 3,正确的语法是:
print tn.read_all()