我们说我的本地IP是10.212.97.23
而我的子网掩码是255.255.254.0
据此,我与10.212.96.*
位于同一子网,CIDR为10.212.96.0/23
所以我的问题是:是否有任何python库采用本地IP和子网掩码并计算CIDR值?我检查了netaddr库但无法找到此功能
答案 0 :(得分:0)
CIDR中的基本计数可以使用以下函数手动计算,而不使用任何库:
>>> netmask = "255.255.254.0"
>>> sum([bin(int(x)).count("1") for x in netmask.split(".")])
23
让我知道它是否有用。
答案 1 :(得分:0)
如果您想使用模块,ipaddress模块可以提供帮助:
❯ python3
>>> import ipaddress
>>> ipaddress.IPv4Network("10.212.97.23/255.255.254.0", strict=False).prefixlen
23
文档here。