2015-06-05 39 views
1

我試圖使用Python和Exscript登錄思科設備。Python EXscript - AttributeError:'str'對象沒有'連接'屬性

在這個完全新的我堅持一個錯誤,我得到的IP地址部分。

AttributeError的:「海峽」對象有沒有屬性「連接」

我得到這是什麼意思,但林不知道如何把一個輸入,使它的對象。

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() 

它一直工作,但我不知道我已經做了什麼來阻止它的工作。

感謝

回答

2

您設置康恩等於兩個字符串之一:

if Connection_Type == '1': 
    conn = 'Telnet()' 
elif Connection_Type == '2': 
    conn = 'SSH2()' 

所以'Telnet()'.connect也不'SSH2()'.connect去上班。

如果您從某處導入了SSH或Telnet並假設它們是類,那麼刪除單引號,並且您將創建一個應該在類有連接方法後才能工作的實例。

if Connection_Type == '1': 
    conn = Telnet() 
elif Connection_Type == '2': 
    conn = SSH2() 
+1

是的,'conn'是字符串類型變量,字符串變量沒有'connect'方法。 –

+1

謝謝你們。一旦有人指出我的意思,這就是完美的意義。 – kingwiiwii

相關問題