只是python的初学者,需要一些专家建议。我正在使用Windows机器,安装了python 2.7,尝试运行一个脚本,该脚本将连接到其中一个cisco调用管理器CLI并运行一些命令(例如-admin:utils create report硬件)。我附加了正常连接的油灰槽的屏幕截图,但是想要自动化。任何有关这方面的帮助将不胜感激。
我尝试过使用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:
答案 0 :(得分:0)
CUCM提示符是admin :(以冒号结束:)所以你想修改base_connection.py。
我在下面取得了一些成功:
第619行附近,用粗体添加了部分:
def set_base_prompt(self,pri_prompt_terminator =&#39;#&#39;, alt_prompt_terminator =&#39;&gt;&#39;, cucm_prompt_terminator =&#39;:&#39; ,delay_factor = 1):
第633行附近,用粗体添加了部分:
如果没有提示[-1](pri_prompt_terminator,alt_prompt_terminator, cucm_prompt_terminator ):
在访问cisco_ios类型的其他设备时,我没有对任何副作用进行过广泛的测试,但上面给出了如何解决问题的要点。