python之IP地址或IP段處理模塊-ipaddr

python處理IP和IP段的模塊基本有兩個:IPy與ipaddr

IPy基本處理8位、16位、24位掩碼的網段,其他的網段處理起來就會出現問題。

ipaddr是google出的一個模塊,很好的可以處理模塊IPy不能解決這個問題,所以建議使用模塊ipaddr!


模塊地址:http://pythonhosted.org/ipaddr/


使用介紹:

    Class總共分爲:BaseIPIPv4IPv6

ipaddr.IPv4Network()    ipv4網段對象建立

ipaddr.IPv6Network()    ipv6網段對象建立

ipaddr.IPAddress(address, version)    單個ipv4地址對象建立

部分對象方法描述:

Contains()    網段中是否包含某個IP

is_private    是否是私網地址

is_multicast    是否是廣播地址

is_loopback    是否是loop地址

IsLoopback    是否是迴環地址

IsMulticast    是否是多播地址

broadcast    查看廣播地址

hostmask    查看子網掩碼

iterhost    創建一個網段中一個IP地址列表的迭代器對象

is_reserved    是否是保留地址

實例講解:

#!/usr/bin/python

### 引入模塊

import ipaddr

MIP = "192.168.1.0/29"

### 創建一個網段的對象,ipv4的網段地址

ips = ipaddr.IPNetwork(MIP)

### 查看對象ips的類型

print type(ips)

### 查看網段的廣播地址

print ipaddr.IPv4Network(MIP).broadcast

### 查看網段地址的掩碼

print ipaddr.IPv4Network(MIP).hostmask

### 創建一個網段中一個IP地址列表的迭代器對象

hosts = ipaddr.IPv4Network(MIP).iterhosts()

### 使用循環讀取對象中的每個IP

print type(hosts)

for IP in hosts:

    print IP


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章