Python 计算两个IP段之间的有效IP地址
生活随笔
收集整理的這篇文章主要介紹了
Python 计算两个IP段之间的有效IP地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Can anyone think of an algorithm to put all of the addresses between two others and put them in a list (using python)? For example:
findIPs('111.111.111.0', '111.111.111.3')Should return
('111.111.111.0', '111.111.111.1', '111.111.111.2', '111.111.111.3'). My main problem arises from when corresponding blocks are identical otherwise I could just use nested for loops with the range function
方法一:
try:
from ipaddress import ip_address
except ImportError:
from ipaddr import IPAddress as ip_address
def findIPs(start, end):
start = ip_address(start)
end = ip_address(end)
result = []
while start <= end:
result.append(str(start))
start += 1
return result
print(findIPs('111.111.111.0', '111.111.111.3'))
打印結果:
方法二:
import struct
import socket
def findIPs(start, end):
ipstruct = struct.Struct('>I')
start, = ipstruct.unpack(socket.inet_aton(start))
end, = ipstruct.unpack(socket.inet_aton(end))
return [socket.inet_ntoa(ipstruct.pack(i)) for i in range(start, end+1)]
print(findIPs('111.111.111.0', '111.111.111.3'))
原文地址:https://stackoverflow.com/questions/17220308/how-to-find-all-ip-addresses-between-2-ip-addresses
總結
以上是生活随笔為你收集整理的Python 计算两个IP段之间的有效IP地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Scrum里面猪和鸡的角色
- 下一篇: python basemap 逐步绘制世