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
    
    
    

  • 相关阅读:
    [苹果maccms] MACCMS苹果cms宝塔定时任务添加教程说明
    [苹果cmsV10]新版本演员库分类报无权限问题和解决方法!
    CentOS 6.8安装Python2.7.13
    [HOWTO] Install Sphinx for A Script Pro
    A Script Pro nginx URL重写规则无法播放MP4解决方法
    随机跳转
    UI库
    vuex
    vue 数据请求
    vue守卫、储存与路由模式
  • 原文地址:https://www.cnblogs.com/nayu/p/10163064.html
Copyright © 2011-2022 走看看