IPY
ip的處理方面經常需要處理 大量的IP地址。包括網絡性能,網絡掩碼,廣播地址,子網數,IP類型進行判斷。IPy 模塊就可以很好的解決這個問題。
安裝方式
# pip install IPy
判斷 ip 的類型
>>> from IPy import IP
>>> ip = IP('192.168.1.2')
>>> ip.version()
4
>>> ip.iptype()
'PRIVATE'
計算一個網段內的ip地址的個數,並且再全部列出來。
>>> ip = IP('192.168.0.0/30')
>>> print(ip.len())
4
>>> for x in ip:
... print(x)
...
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3
根據IP與掩碼生成網段的格式
>>> from IPy import IP
>>> print(IP('192.168.1.1').make_net('255.255.255.0'))
192.168.1.0/24
判斷一個網段(一個網段是否包含關係)
>>> IP('192.168.1.0/24').strNormal(3)
'192.168.1.0-192.168.1.255'
>>>
>>>
>>> '192.168.1.100' in IP('192.168.1.0/24')
True
>>>
>>>
>>> IP('192.168.1.0/24') in IP('192.168.0.0/16')
True
(一個網段是否重疊關係)
1代表重疊,0代表不重疊
>>> IP('192.168.1.0/24').overlaps('192.168.2.0')
0
>>> IP('192.168.0.0/23').overlaps('192.168.2.0')
0
>>> IP('192.168.0.0/23').overlaps('192.168.1.0/24')
1