>>> IP('172.29.20.0/24').version() —— IP v4 or v6版本号
4
>>> '127.0.0.1' in IP('127.0.0.0/24')
True
>>> IP('127.0.0.0/24') in IP('127.0.0.0/25')
False
>>> print(IP('192.168.1.1').iptype())
PRIVATE
>>> print(IP('152.168.1.1').iptype())
PUBLIC
>>> help(IP) —— 可以看到最详细的文档,更多的方法
>>> ip=IP('127.0.0.0/30')
>>> for i in ip:
... print(i)
...
127.0.0.0
127.0.0.1
127.0.0.2
127.0.0.3
>>> for i in ip:
... print(type(i))
...
>>> print(ip)
127.0.0.0/30
>>> for i in ip:
... print(str(i))
...
127.0.0.0
127.0.0.1
127.0.0.2
127.0.0.3
>>> print(ip[2])
127.0.0.2
>>> print(str(ip[2]))
127.0.0.2
其他常用方法介绍:
| __cmp__(self, other) —— 比较大小
| Called by comparison operations.
|
| Should return a negative integer if self < other, zero if self
| == other, a positive integer if self > other.
|
| Networks with different prefixlen are considered non-equal.
| Networks with the same prefixlen and differing addresses are
| considered non equal but are compared by their base address
| integer value to aid sorting of IP objects.
|
| The version of Objects is not put into consideration.
|
| >>> IP('10.0.0.0/24') > IP('10.0.0.0')
| 1
| >>> IP('10.0.0.0/24') < IP('10.0.0.0')
| 0
| >>> IP('10.0.0.0/24') < IP('12.0.0.0/24')
| 1
| >>> IP('10.0.0.0/24') > IP('12.0.0.0/24')
| 0
| __contains__(self, item) —— 检查包含关系
| Called to implement membership test operators.
|
| Should return true if item is in self, false otherwise. Item
| can be other IP-objects, strings or ints.
|
| >>> IP('195.185.1.1').strHex()
| '0xc3b90101'
| >>> 0xC3B90101 in IP('195.185.1.0/24')
| True
| >>> '127.0.0.1' in IP('127.0.0.0/24')
| True
| >>> IP('127.0.0.0/24') in IP('127.0.0.0/25')
| False
| overlaps(self, item) —— 检查是否重叠
| Check if two IP address ranges overlap.
|
| Returns 0 if the two ranges don't overlap, 1 if the given
| range overlaps at the end and -1 if it does at the beginning.
|
| >>> IP('192.168.0.0/23').overlaps('192.168.1.0/24')
| 1
| >>> IP('192.168.0.0/23').overlaps('192.168.1.255')
| 1
| >>> IP('192.168.0.0/23').overlaps('192.168.2.0')
| 0
| >>> IP('192.168.1.0/24').overlaps('192.168.0.0/23')
| -1