尝试建立一个IP地址范围的IP列表

时间:2019-07-27 17:07:20

标签: python

我正在尝试创建一个脚本,该脚本生成所有以用户输入的前2个段开头的IP。例如:您输入123.123,脚本将列出从123.123.0.0到123.123.255.255的所有IP的列表。

因此,为了生成第三个段,我尝试使用for循环使用户输入缩进一个点,然后从0到255的所有数字范围缩进,然后将所有内容附加到列表中,并且对于第四部分,我尝试了相同的操作,但是因为我试图缩进带有字符串和范围的列表,所以它不起作用。

ip_class=input("Enter IP range: ")

ip_templist=[]

for no in range(0,256):
    ip_templist.append(ip_class+"."+str(no))

如果您有更好的方法来执行同样可以使用的模块功能。

1 个答案:

答案 0 :(得分:0)

使用双列表理解,您可以一行完成。

ip_class = input("Enter IP range: ")
res = ["%s.%d.%d" % (ip_class, x, y) for x in range(256) for y in range(256)]
print(res)

这不会检查有效的第一个输入,对ip_class的输入实际上可能是任何东西。