python - 如何比较两个 IP 地址并确定它们是完全匹配还是部分匹配或者完全不匹配

标签 python

我需要比较两个不同的 IP 子网并显示完全匹配、部分匹配或不匹配的结果。

我需要使用 Python。

可以将 IP 分解到列表中,但是当涉及到子网时它会变得棘手。 例如:

我需要比较 a 和 b,其中 a = 10.10.1.2/25 和 b = 10.10.1.6/24 并显示结果。我是 python 的新手,不确定如何完成这项任务。

最佳答案

您可以使用 python 的 ipaddress 模块(内置)

from  ipaddress import ip_interface
# since you have provided interface address
ip1 = ip_interface.ip_address('10.10.1.2/24')
ip2 = ip_interface.ip_address('10.10.1.6/24')
print(ip1 == ip2)
# answer would be False

关于python - 如何比较两个 IP 地址并确定它们是完全匹配还是部分匹配或者完全不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959137/

相关文章:

python - zipfile 模块给出不可靠的结果

python - 如何解决 jinja2.exceptions.TemplateSyntaxError?

python - 使用 Jinja2 模板访问嵌套字典

python - "run"和 "step"在Tensorflow调试器(tfdbg)中对应什么?

python - Postgres 更新表 -> 更改 text[] 中的子字符串

python - 打开特定的 excel 文件/工作表以获取特定的内容单元格位置

Java 字符串乘法

Python 2.7.3 IDLE 无法打开

python list.sort() 与 list.sort(key=itemgetter(0))

python - 看门狗项目 : Reference before assignment error