我试图让一个脚本使用Python和Exscript登录Cisco设备。
作为一个全新的例子,我被一个错误困住了,我要绕过IP地址部分。
AttributeError:'str‘对象没有属性'connect’
我明白这意味着什么,但我不知道如何输入,并使它成为一个对象。
Switch_IP = raw_input('Core Switch IP :')
print
print "Login Method"
print "============"
print "1.Telnet"
print "2.SSHv2"
print
Connection_Type = raw_input('Connection Type :')
Device_IP = raw_input('IP Address :')
conn = 'null'
if Connection_Type == '1':
conn = 'Telnet()'
elif Connection_Type == '2':
conn = 'SSH2()'
account = read_login()
conn.connect(Switch_IP)
conn.login(account)
conn.execute('term len 0')
conn.execute('term width 0')
conn.execute("show ip arp | i " + Device_IP)
f = open("ARP-Output-tmp.txt","w")
f.write(conn.response)
f.close()它一度起作用,但我不知道我做了什么来阻止它发挥作用。
谢谢
发布于 2015-06-05 17:13:00
您将conn设置为两个字符串中的一个:
if Connection_Type == '1':
conn = 'Telnet()'
elif Connection_Type == '2':
conn = 'SSH2()'所以'Telnet()'.connect和'SSH2()'.connect都会起作用的。
如果您已经从某个地方导入了SSH或Telnet,并且假设它们是类,那么删除单引号,您将创建一个实例,一旦这些类有了connect方法,这个实例就可以工作了。
if Connection_Type == '1':
conn = Telnet()
elif Connection_Type == '2':
conn = SSH2()https://stackoverflow.com/questions/30672198
复制相似问题