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

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

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

ipaddr是google出的一個模塊,很好的能夠處理模塊IPy不能解決這個問題,因此建議使用模塊ipaddr!ide


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


使用介紹:google

    Class總共分爲:BaseIPIPv4IPv6spa

ipaddr.IPv4Network()    ipv4網段對象創建code

ipaddr.IPv6Network()    ipv6網段對象創建orm

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

部分對象方法描述:對象

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

相關文章
相關標籤/搜索