只是一个python的初学者,需要一些专家的建议。我在windows机器上工作,安装了Python2.7,试图运行一个脚本,该脚本将连接到思科呼叫管理器命令行界面之一,并运行一些命令(例如-admin:utils创建报告硬件)。我有附加的油灰槽,我连接正常的屏幕截图,但想自动化这一点。在这方面的任何帮助都将不胜感激。
我试过使用netmiko,但它显示以下错误- enter image description here
>>> from netmiko import ConnectHandler
>>> cisco_881 = {'device_type': 'cisco_ios','ip': '10.10.201.11','username':
'Admin','password': 'admin123'}
>>> net_connect = ConnectHandler(**cisco_881)
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
net_connect = ConnectHandler(**cisco_881)
File "build\bdist.win32\egg\netmiko\ssh_dispatcher.py", line 122, in
ConnectHandler
return ConnectionClass(*args, **kwargs)
File "build\bdist.win32\egg\netmiko\base_connection.py", line 146, in
__init__
self.session_preparation()
File "build\bdist.win32\egg\netmiko\cisco\cisco_ios.py", line 11, in
session_preparation
self.set_base_prompt()
File "build\bdist.win32\egg\netmiko\base_connection.py", line 634, in
set_base_prompt
raise ValueError("Router prompt not found: {0}".format(prompt))
ValueError: Router prompt not found: admin:发布于 2017-05-31 16:36:00
CUCM提示符是admin:(以冒号:结尾),因此您要修改base_connection.py。
我在以下方面取得了一些成功:
在619行附近,添加了粗体部分:
定义提示符(self,pri_prompt_terminator='#',alt_prompt_terminator='>',cucm_prompt_terminator=':',delay_factor=1):
在633行附近,添加了粗体部分:
如果没有提示(-1\f25 pri_prompt_terminator-1\f6、-1\f25 alt_prompt_terminator -1\f6、-1\f25 cucm_prompt_terminator):-1\f6
我没有对访问其他cisco_ios类型的设备时的任何副作用做过广泛的测试,但上面的内容给出了如何解决您的问题的要点。
发布于 2022-01-12 15:12:50
你可以检查下面的代码:
from netmiko import ConnectHandler
RTR_150 = {
"device_type": "cisco_ios",
"host": "your_router_ip",
"username": "test",
"password": "test",
"secret": "enable_password"}
with ConnectHandler(**RTR_150) as net_connect:
config_commands = [ "show env",
"show version"]
output = net_connect.send_config_set(config_commands)
net_connect.disconnect()
print(output)https://stackoverflow.com/questions/44023160
复制相似问题