zoukankan      html  css  js  c++  java
  • 【编程开发】python学习-判断是否是IP地址

    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:sectoolvenviplist.txt',mode='r')
    def is_ip(ipAddr):
        check_ip=re.compile('^(1d{2}|2[0-4]d|25[0-5]|[1-9]d|[1-9]).(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d).(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d).(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d)$')
        if check_ip.match(ipAddr):
            return True
        else:
            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:sectoolvenviplist.txt',mode='r')
    def  is_ip(address):
        try:
            IPy.IP(address)
            return True
        except 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
    
    
    

  • 相关阅读:
    AutoLayout动画
    实现毛玻璃效果
    合并静态库
    GCDAsyncSocket~
    iOS下URL编码
    OC多线程之GCD ----- 2
    堆和栈的区别
    Effective Objective-C 2.0重读笔记---2
    Android手机端抓包方法
    Android APK反编译
  • 原文地址:https://www.cnblogs.com/nayu/p/10163064.html
Copyright © 2011-2022 走看看