def countBit(countNum,bit):giveNum="0"*(bit-len(bin(countNum)[2:]))+bin(countNum)[2:]return  giveNum#将ip转十进制
def minIp(ip):value = countBit(int(ip.split('.')[0]),8) + countBit(int(ip.split('.')[1]),8)+ countBit(int(ip.split('.')[2]),8)+ countBit(int(ip.split('.')[3]),8)return int(value,2)def net(n):ip1 =  n.split('/')[0]mask1 = int(n.split('/')[1])if mask1 == 32:minip = ip1maxip = ip1elif mask1 > 24:k = int(ip1.split('.')[-1])dels = 8-(mask1 - 24)netNumb = 2**dels-1   #可用地址范围eq = k/(netNumb+1)str1 = str((netNumb+1)*eq)str2 = str((netNumb+1)*eq+netNumb)minip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+ip1.split('.')[2]+'.'+str1maxip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+ip1.split('.')[2]+'.'+str2elif mask1 == 24:minip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+ip1.split('.')[2]+'.0'maxip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+ip1.split('.')[2]+'.'+'255'elif mask1 > 16 and mask1 < 24:k = int(ip1.split('.')[2])dels = 8-(mask1 - 16)netNumb = 2**dels-1   #可用地址范围eq = k/(netNumb+1)str1 = str((netNumb+1)*eq)str2 = str((netNumb+1)*eq+netNumb)minip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+str1+'.'+'0'maxip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+str2+'.'+'255'elif mask1 == 16:minip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+'0'+'.0'maxip = ip1.split('.')[0]+'.'+ip1.split('.')[1]+'.'+'255'+'.'+'255'elif mask1 > 8 and mask1 < 16:k = int(ip1.split('.')[1])dels = 8-(mask1 - 8)netNumb = 2**dels-1   #可用地址范围eq = k/(netNumb+1)str1 = str((netNumb+1)*eq)str2 = str((netNumb+1)*eq+netNumb)minip = ip1.split('.')[0]+'.'+str1+'.'+'0'+'.'+'0'maxip = ip1.split('.')[0]+'.'+str2+'.'+'255'+'.'+'255'elif mask1 == 8:minip = ip1.split('.')[0]+'.'+'0'+'.'+'0'+'.0'maxip = ip1.split('.')[0]+'.'+'255'+'.'+'255'+'.'+'255'elif mask1 > 0 and mask1 < 8:k = int(ip1.split('.')[0])dels = 8-(mask1 - 0)netNumb = 2**dels-1   #可用地址范围eq = k/(netNumb+1)str1 = str((netNumb+1)*eq)str2 = str((netNumb+1)*eq+netNumb)minip = str1+'.'+'0'+'.'+'0'+'.'+'0'maxip = str2+'.'+'255'+'.'+'255'+'.'+'255'elif mask1 == 0:minip = '0.0.0.0'maxip = '255.255.255.255'else:print 'bad mask!'return [minIp(minip),minIp(maxip)]  #转化整型

调用方式 net(10.2.2.0/24)

可以封装成一个类,没时间,so~~

转载于:https://www.cnblogs.com/fengzaoye/p/6826061.html

py处理网段转化模块相关推荐

  1. Py:利用pickle模块和API天气接口实现输入城市得到该城市的天气预报

    Py:利用pickle模块和API天气接口实现输入城市得到该城市的天气预报 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -*- ''' Created on ...

  2. pycharm导入本地py文件时,模块下方出现红色波浪线时如何解决

    pycharm导入本地py文件时,模块下方出现红色波浪线时如何解决 文章目录: Reference: 1.https://blog.csdn.net/qq_30622831/article/detai ...

  3. pycharm导入本地py文件时,模块下方出现红色波浪线

    解决方法1: pycharm导入本地py文件时,模块下方出现红色波浪线时如何解决_醉酒诗人的博客-CSDN博客_pycharm文件夹波浪号 解决方法2: 但是我发现将pycharm的版本更新到最新,不 ...

  4. pycharm 同一个目录下导入py文件时,模块下方出现红色波浪线时如何解决

    此解决方案来自于:https://www.cnblogs.com/my-blogs-for-everone/articles/12270938.html 问题如下: pycharm 同一个目录下导入p ...

  5. Py修行路 Pandas 模块基本用法

    pandas 安装方法:pip3 install pandas pandas是一个强大的Python数据分析的工具包,它是基于NumPy构建的模块. pandas的主要功能: 具备对其功能的数据结构D ...

  6. python模块文件的扩展名不一定是py_Python导入:导入没有.py扩展名的模块?

    在我开发的Python系统中,我们通常有这个模块结构. mymodule/ mymodule/mymodule/feature.py mymodule/test/feature.py 这允许我们的小测 ...

  7. 将做好的py文件打包成模块,供别人安装调用

    现在要将写完的3个py文件,打包. 步骤: 1.新建一个文件夹setup(名字随便取),在setup文件夹下,再新建一个文件夹financeapi. 2.将上面4个py文件拷贝至financeapi文 ...

  8. Py中的heapq模块【转载】

    转自:https://www.jianshu.com/p/801318c77ab5 该模块提供了堆排序算法的实现.堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点. 1 ...

  9. 模块的四种形式 模块的调用 循环导入问题 模块的搜索路径 py文件的两种用途 编译python文件 包...

    目录 模块的四种形式 什么是模块 模块的四种形式 自定义模块 第三方模块 内置模块 包 使用模块的好处 模块的调用 循环导入问题 模块的搜索路径 py文件的两种用途 编译python文件 包 什么是包 ...

最新文章

  1. 基因组重复序列注释-RepeatMasker安装和使用
  2. Android UI学习 - Linear Layout, RelativeLayout
  3. “不允许对64位应用程序进行修改”的解决方法 --“Changes to 64-bit applications are not allowed.”
  4. PON:EPON/GPON/10G PON/XG-PON/NG-PON2—Vecloud微云
  5. 图解VC++工具栏和状态栏编程实例
  6. UnityShader之Shader格式篇【Shader资料1】
  7. linux 远程拒绝服务,Linux Kernel SCTP远程拒绝服务漏洞
  8. MySQL数据库----触发器
  9. 【Java从0到架构师】RocketMQ 使用 - 集成 SpringBoot
  10. 夺命雷公狗-----React---5--props对象的传递
  11. c程序语言符号的作用,c语言宏定义中的#,##,#@及\符号的作用
  12. ACL2021 | CMU和北邮联合提出的DualGCN在基于Aspect的情感分析任务上达到了SOTA
  13. vs2012c语言参考手册,visualstudio2012教程
  14. jpg转pdf怎么转换免费
  15. C语言:用指针求字符串长度
  16. 微博 用户画像_面向新浪微博的用户画像研究
  17. ASIC开发流程介绍
  18. php百度坐标转腾讯坐标,PHP实现腾讯与百度坐标转换
  19. 论文阅读《No bot expects the DeepCAPTCHA》
  20. 国产接口芯片兼容替换TI MM1192,用于通信设备协议

热门文章

  1. springMVC 面试题整理
  2. 用“掩码位图“,制作类似.png的“透明图片“①
  3. 小技巧——阿里个人邮箱登录有问题怎么办?
  4. [附源码]计算机毕业设计校园运动会管理系统Springboot程序
  5. uniapp之小程序端生成分享海报(带自定义参数的二维码)
  6. win10系统更新后C盘逐渐变小解决方法
  7. PPT文件没有密码解除限制编辑
  8. CSS背景图片平铺占满整个浏览器,且固定住不随滚动条移动
  9. [强化学习实战]马尔可夫决策-悬崖寻路python实现
  10. zkeacms mysql_在Docker中运行纸壳CMS并配置使用MySql