广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python模块学习之IPy模块
  • 328
分享到

Python模块学习之IPy模块

模块PythonIPy 2023-01-31 05:01:46 328人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。python提供了一个强大的第

IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。
python提供了一个强大的第三方模块IPy,最新版本(2017-11-16)为V0.83。

GitHub地址

https://github.com/autocracy/Python-ipy/

pypi地址

Https://pypi.python.org/pypi/IPy/

IPy模块可以很好地辅助我们高效完成IP的规划工作。

2.1、源码安装

shell>cd /root/soft/Python
Shell>wget https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz
Shell>tar zxvf IPy-0.83.tar.gz 
IPy-0.83/
IPy-0.83/.gitignore
IPy-0.83/AUTHORS
IPy-0.83/COPYING
IPy-0.83/ChangeLog
IPy-0.83/IPy.py
IPy-0.83/MANIFEST.in
IPy-0.83/Makefile
IPy-0.83/README
IPy-0.83/example/
IPy-0.83/example/confbuilder
IPy-0.83/example/confbuilder.py
IPy-0.83/setup.py
IPy-0.83/test/
IPy-0.83/test/test.rst
IPy-0.83/test/test_IPy.py
IPy-0.83/test/test_fuzz.py
IPy-0.83/test_doc.py
Shell>cd IPy-0.83
Shell>python2.7 setup.py install
running install
running build
running build_py
creating build
creating build/lib
copying IPy.py -> build/lib
running install_lib
copying build/lib/IPy.py -> /usr/local/python2.7/lib/python2.7/site-packages
byte-compiling /usr/local/python2.7/lib/python2.7/site-packages/IPy.py to IPy.pyc
running install_egg_info
Writing /usr/local/python2.7/lib/python2.7/site-packages/IPy-0.83-py2.7.egg-info 

2.2、pip安装

Shell>pip2.7 install IPy
Collecting IPy
  Downloading IPy-0.83.tar.gz
Installing collected packages: IPy
  Running setup.py install for IPy ... done
Successfully installed IPy-0.83

3.1、获取IPy版本

>>> import IPy
>>> IPy.__version__
'0.83'
>>>

3.2、获取ip地址的版本信息

>>> IPy.IP("10.0.0.0/24").version()
4
>>>
>>> IPy.IP("192.168.1.1").version()
4
>>>

3.3、通过指定网段输出该网段的ip个数和所有ip地址清单

ip=IPy.IP("10.8.10.0/24")
print ip,type(ip)
'''
10.8.10.0/24 <class 'IPy.IP'>
'''
print ip.len()
'''
256
'''

for i in ip:
    print i 

'''
10.8.10.0
10.8.10.1
10.8.10.2
10.8.10.3
10.8.10.4
.....
10.8.10.253
10.8.10.254
10.8.10.255
'''

3.4、查看指定的ip是私有ip还是公网ip

ip=IPy.IP("10.8.10.0/24")
print ip.iptype()
'''
PRIVATE
'''

print IPy.IP("8.8.8.8").iptype()
'''
PUBLIC
'''

3.5、将IP地址转换成整数

#转换成×××
print IPy.IP("10.8.10.232").int()
'''
168299240
'''

3.6、IP地址排序

###################ip地址排序############
L=['10.8.1.1','10.7.1.2','10.8.10.254','10.1.1.1']
L1=sorted(L,key=lambda x:IPy.IP(x).int())
for i in L1:
    print i
'''
10.1.1.1
10.7.1.2
10.8.1.1
10.8.10.254
'''
###################ip地址排序############

3.7、网络地址转换

#网络地址转换
print IPy.IP("192.168.0.0").make_net("255.255.254.0")
'''
192.168.0.0/23
'''

print IPy.IP("192.168.0.0/255.255.254.0",make_net=True)
'''
192.168.0.0/23
'''

print IPy.IP("192.168.0.0-192.168.1.255",make_net=True)
'''
192.168.0.0/23
'''

#Convert address to string
print "--"
print IPy.IP("192.168.0.0/24").strNORMal(0),type(IPy.IP("192.168.0.0/24").strNormal(0))
print IPy.IP("192.168.0.0/24").strNormal(1)
print IPy.IP("192.168.0.0/24").strNormal(2)
print IPy.IP("192.168.0.0/24").strNormal(3)
print "---"
'''
--
192.168.0.0 <type 'str'>
192.168.0.0/24
192.168.0.0/255.255.255.0
192.168.0.0-192.168.0.255
---
'''

3.8、判断IP地址和网段是否包含于另一个网段中

#判断IP地址和网段是否包含于另一个网段中
print "判断IP地址和网段是否包含于另一个网段中"
print "192.168.1.22" in IPy.IP("192.168.1.0/24")
'''
True
'''
print "192.168.2.22" in IPy.IP("192.168.1.0/24")
'''
False
'''

3.9、网段比较

#网段比较
print "网段比较"
print IPy.IP("192.168.3.0/24")>IPy.IP("192.168.1.0/24")
'''
True
'''

3.10、判断两个网段是够存在重叠

#判断两个网段是够存在重叠
#返回0 代表不存在重叠
#返回1 代表存在重叠
print IPy.IP("192.168.3.0/24").overlaps("192.168.4.0/24")
'''
0
'''

print IPy.IP("192.168.2.0/23").overlaps("192.168.3.0/24")
'''
1
'''

--结束END--

本文标题: Python模块学习之IPy模块

本文链接: https://www.lsjlt.com/news/189177.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python模块学习之IPy模块
    IP地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能、可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。Python提供了一个强大的第...
    99+
    2023-01-31
    模块 Python IPy
  • python模块之paramiko学习<
    简介: paramiko是python(2.2或更高)的模块,遵循SSH2协议实现了安全(加密和认证)连接远程机器。 安装所需软件包: http://ftp.dlitz.net/pub/dlitz/crypto...
    99+
    2023-01-31
    模块 python paramiko
  • Python学习之MySQLdb模块
    CentOS下安装sudo yum install MySQL-python可以参考http://www.mikusa.com/python-mysql-docs/index.html  获取更多信息MySQL-python 为Python...
    99+
    2023-01-31
    模块 Python MySQLdb
  • Python学习之PyYaml模块
    我需要解析twemproxy的配置文件中的pool和后端的redis主机。采用shell解析yml文件太麻烦,正好python有正对于yaml文件解析的pyyaml模块例如twemporxy的配置文件nutcracker.yamlalpha...
    99+
    2023-01-31
    模块 Python PyYaml
  • python学习之argparse模块
    一、简介:argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数,例如 python parseTest.py input.txt outpu...
    99+
    2023-01-31
    模块 python argparse
  • python模块学习----nmap模块
    安装nmap模块:pip install python_nmanmap模块说明:python-nmap是一个帮助使用nmap端口扫描器的python库。它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理...
    99+
    2023-01-31
    模块 python nmap
  • Python学习笔记之json模块和pickle模块
    目录json模块序列化与反序列化json模块中的方法pickle模块总结json模块 json用于不同语言之间的数据交换,比如C和Python之间等等,即可跨语言。而pickle只能...
    99+
    2023-05-18
    json模块 pickle模块 python各个模块讲解
  • python之web模块学习-- htt
    1  httplib简介httplib 是python中http协议的客户端实现,可以使用该模块来与 HTTP 服务器进行交互    httplib是一个相对底层的http请求模块,其上有专门的包装模块,如urllib内建模块,goto等第...
    99+
    2023-01-31
    模块 python web
  • python之web模块学习-- url
      下面继续学习python的web模块 ---  urllib2,一个源于urllib又高于urllib的模块。1  urllib2 简介    urllib2是python自带的一个访问网页及本地文件的库。    与urllib相比,显...
    99+
    2023-01-31
    模块 python web
  • Python 模块学习
        模块学习: http://wsyht90.blog.51cto.com/9014030/1845737 1、getpass 2、os 3、sys 4、subprocess 5、hashlib 6、json 7、pickle 8、sh...
    99+
    2023-01-31
    模块 Python
  • python模块学习
    系统相关的信息模块: import sys sys.argv 是一个 list,包含所有的命令行参数. sys.stdout sys.stdin sys.stderr 分别表示标准输入输出,错误输出的文件对象. sys.st...
    99+
    2023-01-31
    模块 python
  • python模块学习(queue模块的Q
    学习版本3.5.2 PriorityQueue类和LifoQueue类继承Queue类然后重写了_init、_qsize、_put、_get这四个类的私有方法 Queue:先进先出队列的同步实现,通过双向列表实现的 # Initi...
    99+
    2023-01-31
    模块 python queue
  • python IPy模块怎么使用
    本文小编为大家详细介绍“python IPy模块怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python IPy模块怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。IPy模块包含IP类,可以方便...
    99+
    2023-06-28
  • Django模块学习之模块语言详解
    目录前言1、变量2、注释3、过滤器4、标签:include5、标签:for6、标签:if总结前言 Django模块引擎支持Django模块语言(简称DTL)。DTL包含变量、注释、过...
    99+
    2022-11-12
  • Python学习-pycurl模块
    pycurl是一个用c语言编写的libcurl Python实现,功能非常强大,支持操作协议有FTP,HTTP,HTTPS,TELNET等。模块的常用方法说明:close()方法,对应libcurl包中的curl_easy_cleanup方...
    99+
    2023-01-31
    模块 Python pycurl
  • python学习-psuti模块
    psutil(进程和系统实用程序)是一个跨平台的库,用于 在Python中检索有关运行进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它主要用于系统监视,分析和限制流程资源以及运行流程的管理。它实现了UNIX命令行工具提供的许多...
    99+
    2023-01-31
    模块 python psuti
  • python模块学习(1)
    模块让你能够有逻辑地组织你的Python代码段。把相关的代码分配到一个 模块里能让你的代码更好用,更易懂。模块也是Python对象,具有随机的名字属性用来绑定或引用。简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变...
    99+
    2023-01-31
    模块 python
  • python学习-OS模块
    OS模块是python内建模块,主要是对大量文件和大量路径进行操作os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'...
    99+
    2023-01-31
    模块 python OS
  • Python学习—json模块
    json模块 四个常用方法 son.dumps() 将python对象编码成为json的字符串格式(最常用的是字典,列表集合等都可以) json.dump() 将python对象编码成为json的字符串格式并写入文件 json...
    99+
    2023-01-31
    模块 Python json
  • python optparse模块学习
    本文参考:http://docs.python.org/2/library/optparse.htmlPython 有两个内建的模块用于处理命令行参数:一个是 getopt,getopt只能简单处理 命令行参数。另一个是 optparse,...
    99+
    2023-01-31
    模块 python optparse
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作