2017-09-21 298 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