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

相关文章
相关标签/搜索