python编程实例-使用正则收集IP信息
#!/usr/bin/env python from subprocess import PIPE,Popen
import re def getIfconfig():
p = Popen(['ifconfig'],stdout=PIPE)
data = p.stdout.read().split('\n\n')
return [i for i in data if i and not i.startswith('lo')] def parseIfconfig(data):
re_devname = re.compile(r'(br|eth|lo|em|virbr|bond)[\d:]+')
re_mac = re.compile(r'HWaddr ([0-9A-F:]{17})',re.M)
re_ip = re.compile(r'inet addr:([\d\.]{7,15})',re.M)
devname = re_devname.search(data)
if devname:
devname = devname.group()
else:
devname = ''
mac = re_mac.search(data)
if mac:
mac = mac.group(1)
else:
mac = ''
ip =re_ip.search(data)
if ip:
ip = ip.group(1)
else:
ip = ''
return {devname : [ip,mac]} if __name__ == '__main__':
data = getIfconfig()
for i in data:
print parseIfconfig(i)
python编程实例-使用正则收集IP信息的更多相关文章
- python学习:使用正则收集ip信息
使用正则表达式收集主机信息 #!/usr/bin/env python from subprocess import Popen, PIPE import re def ge ...
- python编程实例-收集主机信息
收集主机信息: 主机名 ip 操作系统版本osver 服务器厂商vendor 服务器型号:product 服务器序列号:sn CPU型号:cpu_model CPU核数:cpu_num 内存大小:Me ...
- python学习:收集ip信息
#!/usr/bin/env python from subprocess import Popen, PIPE def getIfconfig(): p = Popen(['ifco ...
- python编程实例-dmidecode系统信息搜集
#!/usr/bin/env python from subprocess import PIPE,Popen def getDmi(): p = Popen(['dmidecode'],stdout ...
- python编程实例-统计apache进程占用的物理内存
#!/usr/bin/env python import os from subprocess import PIPE,Popen def getPids(): p = Popen(['pidof', ...
- python读取文件通过正则过滤需要信息然后保存到新文件里
import osimport reimport fileinput def getDataFromFile(): rt = "/(.*)/(.*).apk" ...
- python学习_数据处理编程实例(二)
在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...
- Python并发编程实例教程
有关Python中的并发编程实例,主要是对Threading模块的应用,文中自定义了一个Threading类库. 一.简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态 ...
- Python 收集主机信息
写一个 python 脚本,收集以下信息 ( CentOS 6 ) : IP地址 <ip> 主机名 <hostname> 操作系统版本 <osver> ...
随机推荐
- CS224n学习资源汇总
一.课程网站: http://web.stanford.edu/class/cs224n/archive/WWW_1617/index.html 二.视频(中文字幕) http://www.mooc. ...
- JAVA项目中常用的异常知识点总结
JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...
- IT basic knowledge
LAMP: Linux Apache MySQL PHP URL & URI: 统一资源定位符是统一资源标志符的一个下种.统一资源标志符确定一个资源,而统一资源定位符不但确定一个资源, 而且还 ...
- django 查询
mail = UserProfile.objects.get(email = email) get如果没有查询到会抛出一个不存在的异常 ...
- javascript;json数据,js转换日期方法。
接收json数据,日期格式为:"\/Date(1414078309687)\/" var value = "/Date(1414078309687)/"; va ...
- 服务熔断、降级、限流、异步RPC -- HyStrix
背景 伴随着业务复杂性的提高,系统的不断拆分,一个面向用户端的API,其内部的RPC调用层层嵌套,调用链条可能会非常长.这会造成以下几个问题: API接口可用性降低 引用Hystrix官方的一个例子, ...
- perspective 能玩点什么
今天看又在看张鑫旭的博客,本来是在玩 transform:Matrix() 的,有讲到单个变化的矩阵设置,但多个变化的就不是那么回事了. 不过这都不是事啦,人生嘛,显然总会有些难关不是轻易能过去的,反 ...
- Java中系统时间的获取_currentTimeMillis()函数应用解读
快速解读 System.currentTimeMillis()+time*1000) 的含义 一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 微 ...
- freemarker模板解析过程
例如:一个freemarker表达式<body> ${hello} </body>,会被解析成三个部分,分别是<body>${hello}</body> ...
- mysql慢查询设置
不同版本的mysql命令和配置不一样,以下是2个版本 修改配置文件 log-slow-queries=/alidata/mysql-log/mysql-slow.log long_query_time ...