以编程方式围绕引号中的Python输入

alg*_*thm 2 python string ip

使用netaddr Python库教程(https://pythonhosted.org/netaddr/tutorial_01.html)我正在创建一个程序,允许用户输入添加到列表中的IP地址,唯一的问题是它需要是首先转换为IP对象.

ip = input('Enter a valid IP Address/Subnet: ')
ip_list = IPNetwork(ip)
print('You have selected: ', ip_list)
Run Code Online (Sandbox Code Playgroud)

当我运行程序并输入:

192.168.1.1

我明白了

> Traceback (most recent call last):
  File "C:\Python27\IPAddress.py", line 4, in <module>
    ip = input('Enter a valid IP Address/Subnet: ')
  File "<string>", line 1
    192.168.1.1
        ^ SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

然而,当我用引号包围IP时,它似乎工作

'192.168.1.1'

我得到了我想要的结果

('您已选择:',IPNetwork('192.168.1.1/32'))

我的问题是我如何允许用户输入IP地址而不必将其包围在引号中,即它将以编程方式完成

pai*_*ima 7

我猜你正在使用Python 2.使用raw_input而不是input它会起作用.使用input,如果输入数字,您将得到一个数字类型(int对于整数,float浮点等).IP地址混淆了一些东西,因为它不理解为什么存在多个小数点.