linux系统使用python监测网络接口获取网络的输入输出


Posted in Python onJanuary 15, 2014

net.py 获取网络接口的输入和输出

#!/usr/bin/env Python
import time
import sys
if len(sys.argv) > 1:
 INTERFACE = sys.argv[1]
else:
 INTERFACE = 'eth0'
STATS = []
print 'Interface:',INTERFACE
def rx():
 ifstat = open('/proc/net/dev').readlines()
 for interface in  ifstat:
  if INTERFACE in interface:
   stat = float(interface.split()[1])
   STATS[0:] = [stat]
def tx():
 ifstat = open('/proc/net/dev').readlines()
 for interface in  ifstat:
  if INTERFACE in interface:
   stat = float(interface.split()[9])
   STATS[1:] = [stat]
print 'In   Out'
rx()
tx()
while True:
 time.sleep(1)
 rxstat_o = list(STATS)
 rx()
 tx()
 RX = float(STATS[0])
 RX_O = rxstat_o[0]
 TX = float(STATS[1])
 TX_O = rxstat_o[1]
 RX_RATE = round((RX - RX_O)/1024/1024,3)
 TX_RATE = round((TX - TX_O)/1024/1024,3)
 print RX_RATE ,'MB  ',TX_RATE ,'MB'

简单说明一下清单 4:清单 4 读取/proc/net/dev 中的信息,Python 中文件操作可以通过 open 函数,这的确很像 C 语言中的 fopen。通过 open 函数获取一个 file object,然后调用 read(),write()等方法对文件进行读写操作。另外 Python 将文本文件的内容读入可以操作的字符串变量非常容易。文件对象提供了三个“读”方法: read()、readline() 和 readlines()。每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量。 .read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()。最后清单 4 打印出网络接口的输入和输出情况。
可以使用 Python 命令运行脚本 net.py 结果见图 4

linux系统使用python监测网络接口获取网络的输入输出

Python 相关文章推荐
Python中的map()函数和reduce()函数的用法
Apr 27 Python
浅谈python 线程池threadpool之实现
Nov 17 Python
Python IDLE入门简介
Dec 08 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
简单实现python数独游戏
Mar 30 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
Python3 安装PyQt5及exe打包图文教程
Jan 08 Python
Python应用领域和就业形势分析总结
May 14 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
Python接口自动化测试的实现
Aug 28 Python
python 利用 PIL 将数组值转成图片的实现
Apr 12 Python
linux系统使用python监控apache服务器进程脚本分享
Jan 15 #Python
Python获取当前时间的方法
Jan 14 #Python
Python生成随机数的方法
Jan 14 #Python
python模拟登陆Tom邮箱示例分享
Jan 13 #Python
python调用cmd命令行制作刷博器
Jan 13 #Python
本地文件上传到七牛云服务器示例(七牛云存储)
Jan 11 #Python
python实现异步回调机制代码分享
Jan 10 #Python
You might like
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
实现复选框全选/全不选切换
2006/12/23 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
python正则分组的应用
2013/11/10 Python
python入门教程 python入门神图一张
2018/03/05 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
科级干部考察材料
2014/02/15 职场文书
六查六看自查材料
2014/02/17 职场文书
《锄禾》教学反思
2014/04/08 职场文书
小学生综合素质评语
2014/04/23 职场文书
银行求职信范文
2014/05/26 职场文书
先进教师事迹材料
2014/12/16 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
Flink 侧流输出源码示例解析
2022/09/23 Servers