在Python

时间:2017-09-21 16:46:11

标签: python python-2.7 input split ip-address

HELP!我是愚蠢的卡住,无法找到如何做到这一点。 另外因为我是Python的初学者。

我需要Python中的这个脚本帮助。

  1. 如何在python脚本中使用IP地址?
  2. 如何基于短划线( - )
  3. 拆分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

    设置start-ip 10.228.50.88

    设置end-ip 10.228.50.91

    真正应用任何帮助或任何可以指向我正确方向的人。

3 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

问题是你在Python 2上运行它时使用input。你希望它的返回类型是一个字符串,但事实并非如此。在Python 2中,input实际上尝试解析并执行输入,就像它是Python代码一样。显然,192.168.0.0或任何IP地址都是无效的Python代码,因此您会收到错误消息。

要解决此问题,请使用raw_input代替input。然后,a类型为str,即常规字符串(IP地址没有什么特别之处),因此您可以使用a.split,{{1}和a.join类的其他方法。

答案 2 :(得分:0)

https://docs.python.org/2/library/functions.html#input,输入执行此操作:eval(raw_input(prompt))。 eval意味着它正在尝试获取输入并将其解释为python代码,这就是您遇到语法错误的原因。它还说:考虑使用raw_input()函数来获取用户的一般输入,这听起来就像你在寻找的那样。此外,快速测试和Python3文档,看起来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