python 依据IP查找其所属网段
# coding = 'utf-8'
# 依据excel表格中所提供的IP,在另一张表中查找其所属网段
import pandas as pd
import IPy
df = pd.read_excel('net.xlsx')
col_name = df.columns.tolist()
index = col_name.index('IP地址') + 1
col_name.insert(index, '所属子网')
df = df.reindex(columns=col_name)
data = df["IP地址"]
df2 = pd.read_excel('net.xlsx', sheet_name='Sheet2')
# nets = ["192.168.0/24", "192.168.1.0/24"]
nets = df2["网段"]
new_col = []
tmp_data = ""
# 新建一列保存用于数据,判断某列是否满足一个列表中的条件,满足保存条件,不满足保存自身。
"""
for i in data:
for net in nets:
if IPy.IP(net.strip()).overlaps(i.strip()) == 1:
tmp_data = net.strip()
elif tmp_data == "" and IPy.IP(net.strip()).overlaps(i.strip()) != 1:
tmp_data = i.strip()
new_col.append(tmp_data)
tmp_data = ""
df["所属子网"] = new_col
print(df)
"""
# 新建一列保存用于数据,判断某列是否满足一个列表中的条件,满足保存条件,不满足保存自身。
tmp_list = []
flag = False
for net in nets:
for i in data:
if not flag:
if IPy.IP(net.strip()).overlaps(i.strip()) == 1:
tmp_list.append(net.strip())
else:
tmp_list.append(i.strip())
else:
if IPy.IP(net.strip()).overlaps(i.strip()) == 1:
tmp_list = [net.strip() if tmp.strip() == i.strip() else tmp.strip() for tmp in tmp_list]
flag = True
df["所属子网"] = tmp_list
pd.DataFrame(df).to_excel("result_net.xlsx", sheet_name="Sheet1", index=False)
python 依据IP查找其所属网段的更多相关文章
- IP查找所属网段
最近同学接到阿里面试题 package io.guangsoft.analysis; /* 数据文件: 1.1.1.0/24,123 1.1.2.0/28,345 1.2.0.0/16,789 */ ...
- Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)
我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...
- vmware中虚拟机与主机ping不通,桥接模式,IP地址在同一网段,无法互ping!
现象描述:网卡选用的桥接模式,IP地址在同一个网段,虚拟机内部可以正常上网,但是Guest OS和Host OS无法互ping! 原因:虚拟机里的防火墙没有关闭,导致禁用ping功能. 解决方法:关闭 ...
- python匹配ip正则
python匹配ip正则 #!/usr/bin/env python # -*- coding:utf-8 -*- import re ip_str = "asdad1.1.1.1sdfwe ...
- 谢欣伦 - OpenDev原创教程 - 本地IP查找类CxLocalHostIPAddrFind
这是一个精练的本地IP查找类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxLocalHostIPAddrFind的使用如下: ...
- python通过ip获取地址
# -*- coding: utf-8 -*- url = "http://ip.taobao.com/service/getIpInfo.php?ip=" #查找IP地址 def ...
- PHP ip 查找 城市名
PHP ip 查找 城市名 header("content-type:text/html;charset=utf-8");date_default_timezone_set(&qu ...
- 用Python和FFmpeg查找大码率的视频文件
用Python和FFmpeg查找大码率的视频文件 本文使用Python2.7, 这个工作分两步 遍历目录下的视频文件 用ffprobe获取是视频文件的码率信息 用ffprobe 获取json格式的视频 ...
- nginx之依据IP做限制
环境如下: [root@localhost ~]# cat /etc/issueCentOS release 6.5 (Final)Kernel \r on an \m[root@localhost ...
- Python实现二分查找
老生常谈的算法了. #!/usr/bin/python # -*- coding:utf-8 -*- # Filename: demo.py # 用python实现二分查找 def binarySea ...
随机推荐
- Linux 基础-文件权限与属性
一,文件类型 1.1,概述 1.2,正规文件(regular file) 1.3,目录(directory) 1.4,链接文件(link) 1.5,设备与装置文件(device) 1.6,资料接口文件 ...
- k8s篇-k8s集群架构及组件详解【史上最详细】
O kubernetes简介 k8s是什么 k8s是一个可移植的.可扩展的开源平台,用于管理容器化的工作负载和服务,可以促进声明式配置和自动化. k8s能做什么 1)服务发现和负载均衡 Kuberne ...
- sql周报
数据库分类 1.关系型数据库 Mysql Qracle MariaDB PostgreSQL mysql:开源免费 使用最广 性价比最高 Oracle:收费 但安全性高 PostgreSQL:开源免费 ...
- webpack :There are multiple modules with names that only differ in casing
1, webpack版本3.6.0 2. 报warning文件为 node_modules 下面webpack 里的hot.js和dev-server.js 3. 没有出现模块名混用大小写 解决方法: ...
- 如何搭建自己的CICD流水线,实现自动编译部署功能?
之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便. 如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云 云效DevOps,阿 ...
- 自己动手基于 Redis 实现一个 .NET 的分布式锁
分布式锁的核心其实就是采用一个集中式的服务,然后多个应用节点进行抢占式锁定来进行实现,今天介绍如何采用Redis作为基础服务,实现一个分布式锁的类库,本方案不考虑 Redis 集群多节点问题,如果引入 ...
- 痞子衡嵌入式:存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码). 痞子衡之前写过一篇文章 <J-Flash在Micron ...
- 关于如何在C#中调用C++的DLL,以及如何在C++中调用C#的DLL
一.关于如何在C#中调用C++的DLL,以及如何在C++中调用C#的DLL 注:clr指公共语言运行库 CLR是一门非常恶搞的语言,就好像是在C++里面写C#的文件一样,也就是一种所谓的"托 ...
- MySQL5.7兼容5.6
MySQL5.7兼容5.6配置----MySQL5.7以上版本数据库兼容MySQL5.5-5.6版本数据库 手动安装MySQL 8.0/5.7 需要修改配置兼容 ,修改后需要重启mysql服务 (建议 ...
- [常用工具] live555的搭建
live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.使用live555可以播放rtsp流.本文主要是在linux ...