码迷,mamicode.com
首页 > 其他好文 > 详细

ip地址处理模块IPy

时间:2017-08-23 23:05:13      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:python ipy


下载以及安装:


下载地址:https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz


 tar -zxvf IPy-0.83.tar.gz 

 cd IPy-0.83

 python setup.py install



可以用version的方法区分IPV4或者IPV6,如下面的代码,返回4就是ipv4,返回6就是IPV6.


>>> from IPy import IP
>>> IP(‘192.0.0.0/16‘).version()  
4
>>> IP(‘::2‘).version()
6
>>>


通过指定的网段输出该网段的IP个数以及IP地址的清单:

>>> import tab
>>> from IPy import IP
>>> ip = IP(‘192.168.1.0/24‘) 
>>> print ip.len()
256
>>> for x in ip:
    print x
    
192.168.1.0
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13 
.......

下面介绍IP类的几个常见的方法,包括反向解析域名,IP类型,IP转换等。

>>> import tab
>>> from IPy import IP
>>> ip = IP(‘192.168.1.107‘)
>>> ip.reverseNames()
[‘107.1.168.192.in-addr.arpa.‘]
>>> ip.iptype()                            #私有地址
‘PRIVATE‘
>>> IP(‘202.15.15.6‘).iptype()
‘PUBLIC‘                                    #公有地址
>>> IP("8.8.8.8").int()
134744072                                #转化为整形格式
>>> IP("8.8.8.8").strHex()
‘0x8080808‘                                #转换成十六进制
>>> IP("8.8.8.8").strBin()
‘00001000000010000000100000001000‘       #转换成二进制             
>>> print (IP(0x8080808))
8.8.8.8                                #十六进制转换为IP格式
>>>


IP方法也支持网络地址的转换,如下:

>>> import tab
>>> from IPy import IP
>>> print (IP(‘192.168.1.0‘).make_net(‘255.255.255.0‘))
192.168.1.0/24
>>> print (IP(‘192.168.1.0/255.255.255.0‘,make_net=True))
192.168.1.0/24
>>> print (IP(‘192.168.1.0-192.168.1.255‘,make_net=True))
192.168.1.0/24
>>>

当然也可以反过来:

>>> import tab
>>> from IPy import IP
>>> IP(‘192.168.1.0/24‘).strNormal(0)
‘192.168.1.0‘
>>> IP(‘192.168.1.0/24‘).strNormal(1)
‘192.168.1.0/24‘
>>> IP(‘192.168.1.0/24‘).strNormal(2)
‘192.168.1.0/255.255.255.0‘
>>> IP(‘192.168.1.0/24‘).strNormal(3)
‘192.168.1.0-192.168.1.255‘
>>>

技术分享

本文出自 “天道酬勤” 博客,谢绝转载!

ip地址处理模块IPy

标签:python ipy

原文地址:http://tdcqvip.blog.51cto.com/12995943/1958806

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!