python解析ifconfig 输出成字典
有个需求需要将ifcofig输出解析出来,这里将写的整理出来。方便后续使用。
eth0 Link encap:Ethernet HWaddr 00:50:53:b2:23:e6
inet addr:10.190.179.83 Bcast:10.180.255.255 Mask:255.255.0.0
inet6 addr: fe80::250:56ff:feb2:33e5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28559410 errors:0 dropped:48189 overruns:0 frame:0
TX packets:2392292 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5488032566 (5.4 GB) TX bytes:3079384640 (3.0 GB)
示例代码
import commands
def parse_ifconfig_data(data):
"""
parse ifconfig data into ["eth0 ****" ,"eth1 ***", "lo ***"]
:param data: ifconfig output data
:return: a list like ["eth0 ****" ,"eth1 ***", "lo ***"]
"""
parsed_data = []
new_line = ''
data = [i for i in data.split('\n') if i]
for line in data:
if not line.startswith(' '):
parsed_data.append(new_line)
new_line = line + '\n'
else:
new_line += line + '\n'
parsed_data.append(new_line)
return parsed_data[1:]
def parse_one_interface(one_data):
result = {}
line_list = data.split('\n')
result["device_name"] = line_list[0].split()[0]
result["HWaddr"] = line_list[0].split()[-1]
result["inet_addr"] = line_list[1].split()[1].split(':')[1]
result["Mask"] = line_list[1].split(':')[-1]
result["MTU"] = line_list[3].split()[-2].split(':')[-1]
return result
(ret, if_info) = commands.getstatusoutput("sudo ifconfig -a")
info = parse_ifconfig_data(if_info)
data = info[0]
print parse_one_interface(data)
示例输出
{'HWaddr': '00:50:53:b2:23:e6', 'MTU': '1500', 'Mask': '255.255.0.0', 'inet_addr': '10.190.179.83', 'device_name': 'eth0'}
python解析ifconfig 输出成字典的更多相关文章
- python将字符串转换成字典的几种方法
当我们遇到类似于{‘a’:1, 'b':2, 'c':3}这种字符串时,想要把它转换成字典进行处理,可以使用以下几种方法: 1. Python自带的eval函数(不安全) dictstr = '{&q ...
- python 将字符串转换成字典dict的各种方式总结
1)利用eval可以将字典格式的字符串与字典户转 >>>mstr = '{"name":"yct","age":10}' ...
- python 将excel转换成字典,并且将字典写到txt文件里
# -*- coding: utf-8 -*- #python2.7 import sys reload(sys) sys.setdefaultencoding('utf-8') from pyexc ...
- python 将字符串转换成字典dict
JSON到字典转化:>>>dictinfo = json.loads(json_str) 输出dict类型 字典到JSON转化:>>>jsoninfo = json ...
- python读取excel数据转换成字典
以上面的excel格式,输出字典类型: import xlrddef read_excel_data(): filename = 'E:\学历列表.xls' data = xlrd.open_work ...
- python将str转换成字典
典型的应用场景:Json数据的解析 >>> user "{'name' : 'jim', 'sex' : 'male', 'age': 18}" >> ...
- Python将字符串转换成字典
1. ast包 import ast user_info = '{"name" : "南湖", "gender" : "male& ...
- Python+Selenium进行UI自动化测试项目中,常用的小技巧1:读取excel表,转化成字典(dict)输出
从今天开始我将会把在项目中遇到的问题,以及常用的一些技巧来分享出来,以此来促进自己的学习和提升自己:更加方便我以后的查阅. 现在要说的是:用Python来读取excel表的数据,返回字典(dict), ...
- 第4.4节 Python解析与推导:列表解析、字典解析、集合解析
一. 引言 经过前几个章节的介绍,终于把与列表解析的前置内容介绍完了,本节老猿将列表解析.字典解析.集合解析进行统一的介绍. 前面章节老猿好几次说到了要介绍列表解析,但老猿认为涉及知识层面比较多 ...
随机推荐
- php sublime常用插件
php sublime常用插件 1 Sublime Text的默认设置是不开启显示编码的,如果想开启,可通过菜单Perference → Settings – User,在打开的配置文件里 ,在大括号 ...
- JVM原理速记复习Java虚拟机总结思维导图面试必备
良心制作,右键另存为保存 喜欢可以点个赞哦 Java虚拟机 一.运行时数据区域 线程私有 程序计数器 记录正在执行的虚拟机字节码指令的地址(如果正在执行的是Native方法则为空),是唯一一个没有规定 ...
- mysql双主互为主从配置
在使用双主互为主从的模式前提是互为主从的两个数据库,表的主键必须是自增的. 环境不多说了 ,多台mysql单实例或单台多实例都可以.多实例的配置请参考:https://www.cnblogs.com/ ...
- HTML 转 PDF 之 wkhtmltopdf
wkhtmltopdf是一个可以把html转为pdf的插件,有windows.linux等平台的版本,比较简单 官网下载 https://wkhtmltopdf.org/downloads.html ...
- Java基础:8种基本数据类型,取值范围和储存字节说明。
Java中,一共有8种基本数据类型: 4种整数型:int,short,long,byte. 2种浮点型:float,double. 1种字符类型:char. 1种表示真值的类型:boolean. [S ...
- Salesforce学习之路(十)Org的命名空间
1. 命名空间的适用场景 每个组件都是命名空间的一部分,如果Org中设置了命名空间前缀,那么需使用该命名空间访问组件.否则,使用默认命名空间访问组件,系统默认的命名空间为“c”. 如果Org没有创建命 ...
- hdu 1880 魔咒词典(双hash)
魔咒词典Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hdu 1325 Is It A Tree? (树、node = edge + 1、入度 <= 1、空树)
Is It A Tree?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- nyoj 283-对称排序 (sort)
283-对称排序 内存限制:64MB 时间限制:1000ms 特判: No 通过数:2 提交数:4 难度:1 题目描述: In your job at Albatross Circus Managem ...
- 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...