首页 > 编程语言 >python 校验 ipv4 ipv6 格式是否正确,是否属于某网段

python 校验 ipv4 ipv6 格式是否正确,是否属于某网段

时间:2023-05-31 10:24:00浏览次数:42  
标签:subnet 网段 python ip ipv4 ipv6 return ipaddress

使用 python 自带的 ipaddress 模块

一、ipv4

import ipaddress

# 判断 ipv4 地址格式是否正确 如:ip = "192.168.1.101"
ip = ipaddress.IPv4Address(ipv4)

# 判断 subnet 地址格式是否正确 如:subnet = "192.168.1.0/24"
network = ipaddress.IPv4Network(subnet)

# 判断ipv4 是否属于 subnet。True or False
return ip in network

二、ipv6

import ipaddress

# 判断 ipv6 地址格式是否正确 如:ip = "2001::101"
ip = ipaddress.IPv6Address(ipv4)

# 判断 subnet 地址格式是否正确 如:subnet = "2001::0/64"
network = ipaddress.IPv6Network(subnet)

# 判断ipv6 是否属于 subnet。 True or False
return ip in network

补充

import ipaddress
# 检查 ip 类型
def check_ip_type(ip):
    try:
        ipaddress.IPv4Address(ip)
        return "IPv4"
    except ipaddress.AddressValueError:
        try:
            ipaddress.IPv6Address(ip)
            return "IPv6"
        except ipaddress.AddressValueError:
            return "Invalid IP"

标签:subnet,网段,python,ip,ipv4,ipv6,return,ipaddress
From: https://www.cnblogs.com/itsfei/p/17445303.html

相关文章

  • python 切片
    Python列表切片Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。切片操作基本表达式:object[start_index:end_index:step]切片表达式包含两个":",用于分隔三个参数(start_index、end_index、step),当只有一个":"时,默认第三个参数step=1。start_index:表示起始索......
  • Python 实现进度条
    Python实现进度条1、案例一代码importsysimporttimedefprogress_bar():foriinrange(1,101):print("\r",end="")print("Downloadprogress:{}%:".format(i),"▋"*(i//2),end="")......
  • 【视频】支持向量机算法原理和Python用户流失数据挖掘SVM实例
    全文链接:http://tecdat.cn/?p=32604原文出处:拓端数据部落公众号分析师:BaileyZheng和Lijie Zhang即使是同一种植物,由于生长的地理环境的不同,它们的特征会有所差异。例如鸢尾花,可分为山鸢尾、杂色鸢尾、维吉尼亚鸢尾。假设此时您得到了一朵鸢尾花,如何判断它属于哪一类呢?支......
  • Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|附代码
    全文链接:http://tecdat.cn/?p=26184最近我们被客户要求撰写关于信贷风控模型的研究报告,包括一些图形和统计输出。在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化?有25个变量:ID: 每个客户......
  • 【视频】风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例|附代码数
    原文链接:http://tecdat.cn/?p=22862 最近我们被客户要求撰写关于风险价值的研究报告,包括一些图形和统计输出。风险价值(VaR)是一种统计数据,用于量化公司、投资组合在特定时间范围内可能发生的财务损失程度什么是风险价值(VaR)?该指标最常被投资银行和商业银行用来确定其机构......
  • python二维数组切片
    随堂测试这道题错了,于是怒而发blog,是分割维度的标识符,如果对象是二维数组,则切片应当是x[,]的形式,逗号之前和之后分别表示对象的第0个维度和第1个维度;如果对象是三维数组,则切片应当是x[,,],里面有两个逗号,分割出三个间隔,三个间隔的前、中和后分别表示对象的第0、1、2个维度。每个......
  • python内置库--json
    关于jsonJSON是一种按照JavaScript对象语法的数据格式相关介绍https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Objects/JSON很多网页和app前后端数据交换的数据的格式就是json,打开F12或者抓包工具就可以看到py的json模块常用函数相关函数介绍json.dumps()......
  • python 操作 xlsx
    目录读取/写入:openpyxldemo1读取/写入:openpyxldemo1importopenpyxlimportos#创建exceldefwrite_excel_xlsx(path,sheet_name,value):ifnotos.path.exists(path):write_new_excel_xlsx(path,sheet_name,value)else:append_write_exc......
  • Python程序与设计
    Python学习笔记2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加代......
  • 用Python开发输入法后台(7)——关于规则的规则
    我又重构了一遍输入法,目的是定义输入法规则的规则,只要遵循这些规则,就可以方便的制定新的输入规则.我的输入法规则如下:规则文件名:ImeRule.py需要实现函数OnFilterKeyDown原型:f(keyCode:int,keyStates:list,msg:dict)->bool功能:键被按下的消息,根据返回值确......