1、使用正则表达式

首先分析IP地址的组成,十进制的合法IP地址由32位数字组成

  1. 使用.分割开
  2. 每个分组可出现的情况:
    第一个分组:
    1-9:一位数字
    10-99:两位数字
    100-199:三位数字且以1开头
    200-249
    250-255
    其余分组:
    0-9
    10-99
    100-199
    200-249
    250-255
#coding=utf8
import IPy,re
f1=open(r'D:\sectool\venv\iplist.txt',mode='r')
def is_ip(ipAddr):check_ip=re.compile('^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$')if check_ip.match(ipAddr):return Trueelse:return False
if __name__ == '__main__':for i in f1.readlines():if is_ip(i):print i.strip() + ' is vaild ip address'else:continue


也可以使用在线工具调试

刚遇到的时候曾想过用2[0-5][0-5]匹配200-255,发现第三位大于5的没法匹配,还是要分开写:
2[0-4]\d
25[0-5]

2、导入第三方库判断

#coding=utf8
import IPy
f1=open(r'D:\sectool\venv\iplist.txt',mode='r')
def  is_ip(address):try:IPy.IP(address)return Trueexcept Exception as  e:return False
if __name__ == '__main__':for i in f1.readlines():if is_ip(i):print i.strip()+' is vaild ip address'else:continue

转载于:https://www.cnblogs.com/nayu/p/10163064.html

python学习-判断是否是IP地址相关推荐

  1. 一个路由器两个网段互通_如何判断两个IP地址是否在同一个网段?什么是子网掩码?...

    前几天咱们了解:三种方法告诉你项目超过255个摄像机怎么设置IP?什么是公网ip?什么又是内网ip?为什么ip地址通常以192.168开头? 也学习了:二.三层交换机与路由器的区别! 但是有好多人对I ...

  2. IP地址和子网划分学习笔记之《IP地址详解》

    在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. IP地址和子网划分学习笔记相关篇章: 1.I ...

  3. 判断输入的IP地址是否合法

    判断输入的IP地址是否合法,ip地址的值在0~255之间,先把输入的IP的地址转换为一个字符串. #define LEN (sizeof(xx)/sizeof(xx[0])) const char * ...

  4. 如何判断两个IP地址是不是处于同一网段?

    个人理解,欢迎指正. 一.要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果-->网络号,如果网络号相同, 就在同一子网,否则,不在同一子网. 例:假定选 ...

  5. qprocess start怎么判断是否结束_怎么样判断两个IP地址是否在同一个网段

    怎么样判断两个IP地址是否在同一个网段 方法 通过自身的IP与自身掩码算出网络地址X 通过目的IP与自身掩码算出目的地的网络地址Y 如果这两个网络一样(X=Y),则表示目的地与自身在一个网络内 如果两 ...

  6. 使用 Python 从文件中提取 IP 地址

    让我们看看如何使用 Python 从文件中提取 IP 地址. 算法 : 为正则表达式导入 re 模块. 使用 open() 函数打开文件. 读取文件中的所有行并将它们存储在列表中. 声明 IP 地址的 ...

  7. 怎样判断两个ip地址是不是在同一个网段中?

    我们先来了解一下,判断两个ip地址是不是在同一个网段的方法. 要想判断两个ip地址是不是在同一个网段,只需将ip地址与子网掩码做与运算,如果得出的结果一样,则这两个ip地址是同一个子网当中. 例子: ...

  8. 如何判断两个IP地址是不是同一个网段(超实用)

    IP地址 IP地址被用来给Internet上的电脑一个编号.大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信.我们可以把"个人电脑"比作"一台电话&qu ...

  9. 教你如何判断两个IP地址,是否在同一个网段

    目录 前言 一.什么是子网掩码? 二.如何根据掩码来确定ip地址网段 总结 前言 子网掩码的介绍以及如何根据掩码来确定IP地址网段. 一.什么是子网掩码? 子网掩码只有一个作用,就是将某个IP地址划分 ...

最新文章

  1. autoenv的使用方法
  2. 在SecureCRT中,hbase shell不能回退的问题
  3. [python opencv 计算机视觉零基础到实战] 一 opencv的helloworld
  4. 前端学习(539):全屏布局得实现
  5. Ownership and Permissions
  6. excel如何删除空白行_QA|表单数据如何导入、导出?
  7. PLA算法总结及其证明
  8. 程序员最爱字体_网页设计师最爱的十大字体
  9. iis 无法启动计算机,win10系统iis无法启动的详细步骤
  10. Aspose.Words for .NET使用章节教程(2):如何处理文档分段——Aspose.Words中的分段
  11. 闲谈IPv6-源IP地址的选择(RFC3484读后感)
  12. Reflection 反射
  13. C#应用程序界面开发基础——窗体控制(6)——菜单栏、工具栏和状态栏控件
  14. 关于狄利克雷分布的理解
  15. Lanczos 重采样
  16. The Devil of Face Recognition is in the Noise
  17. GoLang之iface 和 eface 的区别是什么?
  18. 用Imagex.exe 捕获Client机台映像并网络还原 网络还原篇
  19. 点击输入框,输入法把输入框挡住了
  20. 外贸crm客户管理系统有什么优势和特点

热门文章

  1. 转--孟岩《理解矩阵》
  2. 北斗三号b1c频点带宽_北斗三号卫星导航信号及接收策略
  3. 非科班小白如何逆袭,成功跨考985软件工程?!...
  4. HTTP代理是什么意思?HTTP代理有什么用处?
  5. nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle
  6. HLG 1815 小乐乐大逃亡
  7. 注意啦!部分考点考场安排已出!
  8. mkvirtualenv与virtualenv
  9. 环信即时通讯——集成客户端
  10. ps 筛选列以及筛选行