假设我的本地ip是 10.212.97.23 255.255.254.0
10.212.97.23
255.255.254.0
10.212.96.* 而CIDR将是 10.212.96.0/23
10.212.96.*
10.212.96.0/23
所以我的问题是:是否有任何python库接受本地ip和子网掩码并计算CIDR值?我检查了netaddr库,但找不到此功能
CIDR中的基本计数可以使用以下函数手动计算,无需使用任何库:
>>> netmask = "255.255.254.0" >>> sum([bin(int(x)).count("1") for x in netmask.split(".")]) 23
如果您想使用模块进行此操作,ipaddress模块可以帮助您:
⯠python3 >>> import ipaddress >>> ipaddress.IPv4Network("10.212.97.23/255.255.254.0", strict=False).prefixlen 23
文档 here