2017-09-21 302 views
0

幫助!我很愚蠢,無法找到如何做到這一點。 也因爲我是Python的初學者。在Python中使用IP地址和分割

我需要Python中這個腳本的幫助。

  1. 如何在python腳本中使用IP地址?
  2. 我怎麼可以拆分基於一個破折號的IP地址( - )

我試圖做到這一點

#code 
a = input("Enter ip address: ") 
print 'edit "ip-' + str(a) + '"\n', 

# Shell 

Enter ip address:10.203.1.10 
# output 
edit "ip-10.203.1.10" 

如何才能IP地址儲存在哪裏?當我添加小數點時,我可以得到一個錯誤 是否有一個模塊或包或一些祕密。分割方法可以像這樣工作: x.split(「 - 」)分割和IP地址如何存儲值然後(a,b)?有 這樣的事情。

輸入

10.228.50.88-10.228.50.91

輸出

編輯 「IPR-10.228.50.88-10.228.50.91」

集類型iprange

組啓動IP 10.228.50.88

set end-ip 10.228.50.91

真正appreaciate任何幫助或任何人可以指出我在正確的方向。

+0

那裏做ü要存儲的IP? – Sumit

回答

0

我希望下面的腳本將幫助您:

a = raw_input("Enter ip address: ") 

print 'edit "ip-' + str(a) + '"\n' 

if '-' in a: 
    ips = a.split('-') 

    print ('set type iprange') 

    print ('set start-ip '+ips[0]) 
    print 'set end-ip '+ips[1] 
+0

非常感謝!添加了這個分割! –

0

的問題是,你使用input同時運行此Python的2.你希望它的返回類型爲字符串,但事實並非如此。在Python 2中,input實際上試圖對進行解析並執行輸入,就像它是Python代碼一樣。很明顯,192.168.0.0或任何IP地址都是無效的Python代碼,所以你會得到一個錯誤。

要解決此問題,請使用raw_input而不是input。然後,a將是str類型,即一個常規字符串(沒有什麼特別的IP地址),因此您可以使用a.split,a.joinstr類的其他方法。

+0

完美!這解決了它! –

0

https://docs.python.org/2/library/functions.html#input,輸入是這樣做的:eval(raw_input(prompt))。 eval意味着它試圖接受輸入並將其解釋爲python代碼,這就是爲什麼你會得到語法錯誤。它還表示:考慮使用raw_input()函數進行用戶的一般輸入,這聽起來就像您正在尋找的東西。另外,從Python3 doc快速測試,它看起來像input()函數是不同的,行爲更像raw_input()函數。快速測試:

Python 3.6。2:

>>> a = input("Enter ip address: ") 
Enter ip address: 10.1.1.1 
>>> a 
'10.1.1.1' 

的Python Python的2.7.13:

>>> a = input("Enter ip address: ") 
Enter ip address: 10.1.1.1 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "<string>", line 1 
    10.1.1.1 
    ^
SyntaxError: invalid syntax