使用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)
当我运行程序并输入:
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
然而,当我用引号包围IP时,似乎可行
'192.168.1.1'
我得到了我想要的结果
('您已选择:',IPNetwork('192.168.1.1 / 32'))
我的问题是我如何允许用户输入IP地址而不必将其包围在引号中,即它将以编程方式完成
答案 0 :(得分:7)
我猜测你正在使用Python 2.使用raw_input
代替input
它会起作用。使用input
,如果输入数字,您将得到一个数字类型(int
表示整数,float
表示浮点数等。 IP地址混淆了一些事情,因为它不知道为什么存在多个小数点。