首页 > 其他 > 详细

IP相关的方法

时间:2017-11-02 10:52:35      阅读:215      评论:0      收藏:0      [点我收藏+]

1、验证是否为IP地址

技术分享
def isIP(ip, with_netmask=True):
    """
    判断IP的格式是否正确
    :param ip: IP字符串
    :param with_netmask: 后面是否携带 ‘/24‘的掩码
    :return:
    """
    if with_netmask:
        p = re.compile(^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?/(\d|[1]?\d?|2?[0-4]?))$)
    else:
        p = re.compile(^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?/(\d|[1]?\d?|2?[0-4]?))$)
    if p.match(ip):
        return True
    else:
        return False
判断是否为IP

2、将数字转化为掩码

技术分享
 1 def num2netmask(num):
 2     """
 3     将24转化为255.255.255.0
 4     :param num: 数字
 5     :return: 掩码
 6     """
 7     if num > 32 or num <= 0:
 8         return None
 9     netmask_str = 1 * num + 0 * (32 - num)
10     netmask_list = [netmask_str[i:i + 8] for i in range(0, len(netmask_str), 8)]
11     netmask = ..join(str(int(netmask_slice, base=2)) for netmask_slice in netmask_list)
12     return netmask
数字转化为掩码

 

IP相关的方法

原文:http://www.cnblogs.com/skiler/p/7770608.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!