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解析与推导:列表解析、字典解析、集合解析
一. 引言 经过前几个章节的介绍,终于把与列表解析的前置内容介绍完了,本节老猿将列表解析.字典解析.集合解析进行统一的介绍. 前面章节老猿好几次说到了要介绍列表解析,但老猿认为涉及知识层面比较多 ...
随机推荐
- F#周报2019年第46期
新闻 使用Pulumi和.NET Core创建现代云应用 宣告.NET Core 3.1预览版3 ML.NET模型构建器升级 .NET Framework修复工具 Mac上的Visual Studio ...
- hdu 1880 魔咒词典(双hash)
魔咒词典Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- 使用C#+FFmpeg+DirectX+dxva2硬件解码播放h264流
本文门槛较高,因此行文看起来会乱一些,如果你看到某处能会心一笑请马上联系我开始摆龙门阵 如果你跟随这篇文章实现了播放器,那你会得到一个高效率,低cpu占用(单路720p视频解码播放占用1%左右cpu) ...
- 如何在后台封装el-tree所需要的数据格式
背景 最近遇到了一个分层级展示指标的需求,前端使用el-tree树形组件,要求按官方文档的格式提供数据. 数据格式: id: 1, label: '一级 1', children: id: 4, la ...
- Redux第一节
安装脚手架 npm i -g create-react-app 创建一个Dom create-react-app demo01 安装 Ant Design npm i antd --save 安装re ...
- vuejs中的回车事件
@keyup.enter.native="事件名称"
- 【论文阅读】Learning Dual Convolutional Neural Networks for Low-Level Vision
论文阅读([CVPR2018]Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision) 本文针对低 ...
- ES6扩展运算符...
对象的扩展运算符理解对象的扩展运算符其实很简单,只要记住一句话就可以: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 let bar = { a: 1, b: 2 ...
- ctf比赛linux文件监控和恢复shell
之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){ for el ...
- 09-kubernetes StatefulSet
目录 StatefulSet 简单测试 使用 StatefulSet 创建基础的PV StatefulSet 清单 StatefulSet 有状态应用副本集 无状态的, 更关注的是群体 有状态的, 更 ...