要使用Python的ipaddress模塊檢查IP地址沖突,您可以按照以下步驟操作:
ip_address()
函數將字符串形式的IP地址轉換為IPAddress對象。ValueError
異常),則表示發生了沖突。下面是一個示例代碼:
import ipaddress
def check_ip_conflicts(ip_list):
unique_ips = set()
for ip_str in ip_list:
try:
ip = ipaddress.ip_address(ip_str)
if ip in unique_ips:
print(f"Conflict detected: {ip} already exists.")
else:
unique_ips.add(ip)
except ValueError:
print(f"Invalid IP address: {ip_str}")
# 示例IP地址列表
ip_list = ["192.168.1.1", "192.168.1.2", "192.168.1.1", "192.168.1.3", "invalid_ip"]
check_ip_conflicts(ip_list)
這個示例中,我們定義了一個名為check_ip_conflicts
的函數,該函數接受一個包含IP地址的字符串列表。我們創建了一個名為unique_ips
的集合來存儲唯一的IP地址。然后,我們遍歷IP地址列表,將每個IP地址轉換為IPAddress對象,并嘗試將其添加到unique_ips
集合中。如果添加失敗(拋出ValueError
異常),則表示發生了沖突。最后,我們打印出檢測到的沖突和無效IP地址。