我有一个包含数百个ip地址和掩码的列表,格式如下:
['10.10.10.0/255.255.255.0', '10.10.20.0/255.255.255.192']
我想将此列表转换为以下格式:
^{pr2}$这是我的代码:
# List already containing all ip/mask (format: 10.10.10.0/255.255.255.0') shown above
print ip_mask_list
#hardcoded mask for testing
netmask = "255.255.248.0"
#convert mask to CIDR
cidr = sum([bin(int(x)).count('1') for x in netmask.split('.')])
print cidr # prints 21
我可以把一个掩码转换成CIDR,但是我怎么做,而不是传递硬编码的netmask变量,我可以传递ip_mask_list
,它遍历所有的掩码并将其转换为CIDR,如上图所示。可能创建下一个列表,其中所有255.x.x.x
都转换为/xx
。在
谢谢
达蒙
您可以使用regex:
输出:
^{pr2}$它将原始IP地址拆分为IP和掩码部分。当根据
ip_mask
中的设置位数来计算cidr_suffix
时,IP地址与以前一样使用。在相关问题 更多 >
编程相关推荐