2024-04-29 21:34:14 发布
网友
我正在编写一个Python脚本,它将采用CIDR格式的IP地址(即1.1.1.0/32或10.0.0.1/24),并将IP分成三部分:前三个八位字节(1.1.1)、最后一个八位字节(0)和子网掩码(32)。IP的长度是可变的,所以我不知道是否可以使用某种字符串计数器。
有什么想法吗?
谢谢
使用正则表达式:
#!/usr/bin/python import re def extractIP( ipStr): l = re.split('(.*)\.(.*)\.(.*)\.(.*)/(.*)', ipStr) return l[1:-1] print extractIP("1.2.3.45/35")
正则表达式可能很麻烦。也可以使用split()函数
inp = '192.168.0.1/24' ip, submask = inp.split('/') octets = ip.split('.')
将IP解析为一个int,并使用按位运算符获取它。
另一种方法是使用类似ipaddr-py的库。我个人更喜欢图书馆。
使用正则表达式:
正则表达式可能很麻烦。也可以使用split()函数
将IP解析为一个int,并使用按位运算符获取它。
另一种方法是使用类似ipaddr-py的库。我个人更喜欢图书馆。
相关问题 更多 >
编程相关推荐