Python中关于IP处理的两个模块
这里介绍的两个处理IP好用的Python库名为:ipaddr和netaddr
顺便提一个不好用的:IPy。上面两个能完全胜任这个库的功能,但这个库容错性不好,常报错。
1.ipaddr简单介绍:
Google开发的IP处理模块,地址:http://pythonhosted.org/ipaddr/
可用pip安装:pip install ipaddr
所有包含的类和方法使用help命令查看:
help(ipaddr)
Class总共分为:BaseIP、IPv4、IPv6
ipaddr.IPv4Network() ipv4网段对象建立
ipaddr.IPv6Network() ipv6网段对象建立
ipaddr.IPAddress(address, version) 单个ipv4地址对象建立
DEMO:
1)判断一个IP地址是否在某个网段内:
>>> import ipaddr
>>>
>>> ip = ipaddr.IPv4Address("192.168.1.1")
>>> ipNet = ipaddr.IPv4Network("192.168.1.0/23")
>>> print ip in ipNet
True
返回True没问题,若不属于包含关系返回False
2)判断一个网段是否属于另一个网段:
>>> ipNetA = ipaddr.IPv4Network(