python - 当我们使用 python-netaddr 拥有子网和 IPv4 地址时,如何获取 IP 前缀?

标签 python ip python-2.7 ip-address inetaddress

我正在使用 python-netaddr 库处理 IP 地址和子网。我阅读了 netaddrd 的完整文档:Netaddr documentation .但是没有找到解决我的问题的方法。我有一个 IP 地址和子网,我想通过使用它们来获取该 ip 的前缀。这样我就可以打印进入子网的所有 ip。

例如:

Ip Address: 192.0.2.0
Subnet Network: 255.255.255.0

It should return the prefix which is : 24

最佳答案

要获得 24,您可以使用以下代码段

ip = IPNetwork('192.0.2.0/255.255.255.0')
print ip.prefixlen

但是如果你想要子网中所有地址的列表,它更容易使用:

ip = IPNetwork('192.0.2.0/255.255.255.0')
list(ip)

关于python - 当我们使用 python-netaddr 拥有子网和 IPv4 地址时,如何获取 IP 前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10813454/

相关文章:

python - 如何使用 Google 的视觉 API 通过一次调用注释多个图像? Python

python - 3D 轴中的 Matplotlib 2D 多边形

php - 基于 IP 或 Cookie 限制用户事件?

http - 如何使用 lwIP 堆栈发送简单的 HTTP 请求?

python - 将未知数插入 SQLite 数据库

python - 如何将S3存储桶挂载为本地文件系统?

Ubuntu 中的 Python-MySQLdb 错误

c++ - Linux C : Get default interface's IP address

python - 当用户输入数字时确定丰富数字

python-2.7 - 错误 : python-dateutil 1. 5 已安装,但 set(['vobject' ]) 需要 python-dateutil>=2.4.0