import time
from app.utils_ydf import LogManager logger = LogManager('network_monitor').get_logger_and_add_handlers(log_filename='network_monitor.log')
logger_templete7 = LogManager('network_monitor2').get_logger_and_add_handlers(log_filename='network_monitor.log', formatter_template=7, do_not_use_color_handler=True) speed_down = []
speed_up = []
speed_name = [] speed_up_1 = []
speed_down_1 = [] while True:
i = open('/proc/net/dev', 'r').readlines()
for p in i:
p = p.split()
if p[1].isdigit() and p[1] != '0':
index = 0
for i in range(len(speed_name)):
if p[0] == speed_name[i]:
index = i
break
if p[0] in speed_name:
pass
else:
speed_name.append(p[0])
speed_down_1.append(p[1])
speed_up_1.append(p[9])
speed_down.append(0)
speed_up.append(0)
break
speed_down[index] = float(int(p[1]) - int(speed_down_1[index])) / 1000
speed_up[index] = float(int(p[9]) - int(speed_up_1[index])) / 1000
speed_down_1[index] = p[1]
speed_up_1[index] = p[9]
for i in range(len(speed_name)):
# if speed_name[i] == 'eno1:':
if 'eno1:' in speed_name[i]: # 只打印此网卡
logger_templete7.debug(f"网卡:{speed_name[i]}")
msg1 = f"上行: {speed_up[i]}"
msg2 = f'下行: {speed_down[i]}'
if speed_up[i] < 100:
logger.debug(msg1)
elif 100 <= speed_up[i] < 200:
logger.info(msg1)
elif 200 <= speed_up[i] < 300:
logger.warning(msg1)
elif 300 <= speed_up[i] < 400:
logger.error(msg1)
elif 400 <= speed_up[i]:
logger.critical(msg1) if speed_down[i] < 100:
logger.debug(msg2)
elif 100 <= speed_down[i] < 200:
logger.info(msg2)
elif 200 <= speed_down[i] < 300:
logger.warning(msg2)
elif 300 <= speed_down[i] < 400:
logger.error(msg2)
elif 400 <= speed_down[i]:
logger.critical(msg2) time.sleep(1) 网上找的,亲测可用。

												

python 记录linux网速到文件。的更多相关文章

  1. [Linux] - 网速测试命令

    Windows网速测试方法有很多,或者可以直接使用浏览器去一些网站上搜索测试即可. 在Linux中其实更容易,只需要一行命令即可搞定: curl -s https://raw.githubuserco ...

  2. python 读取Linux服务器上的文件

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hos ...

  3. 笨办法学Python记录--习题15-17 开始读写文件啦

    习题15 - 17 打开并读流程: from sys import argv script,filename = argv txt = open(filename) print "Here' ...

  4. 记录Linux下解压大文件时的一次奇葩经历

    由于需要安装新的系统,使用wget下载tar包,8G多下载了1个多小时.解压完后的文件夹中的tar包数量明显不够,而且原始的tar包竟然不见了. 同样的操作又进行了一次,结果还是一样,不得不怀疑是哪里 ...

  5. 记录linux 生成crash dump文件步骤

    执行文件编译时加入-g 命令 例如 g++ -g test.cpp 查看当前系统限制情况 ulimit -a 设置crash dump 文件大小 ulimit -c unlimited unlimit ...

  6. [转]使用Linux命令行测试网速

    装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测 ...

  7. 使用Linux命令行测试网速

    安装speedtest speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下 ...

  8. 使用Linux命令行测试网速-----speedtest-cli

    https://github.com/sivel/speedtest-cli 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为“最后一公里”)的网络连接速度.在可用于测 ...

  9. Linux命令行测试网速speedtest.net

    Linux命令行测试网速speedtest.net 当发现上网速度变慢时,人们通常会先首先测试自己的电脑到网络服务提供商(通常被称为"最后一公里")的网络连接速度.在可用于测试宽带 ...

随机推荐

  1. html5页面拨打电话实现的方法

    拨打电话:<p>咨询电话  <a href="tel:17337956096">拨号: 17337956096</a></p> 发送 ...

  2. Spring IOC基础使用

    先下载.导入核心jar包 编写Book类和CollectionUse类 package MyPackageOne; public class Book { private String title; ...

  3. Python基础-修改excel、redis、接口开发、组织代码

    pymysql模块补充内容 1. 游标.description():显示表的字段属性 (什么是游标:游标用于交互式应用,就好比word里的光标一样,要修改某个地方,要先把光标移动到这里) 用好这个方法 ...

  4. python之进程和线程2

    1  GIL全局解释器锁定义 定义:在一个线程拥有了解释器的访问权后,其他的所有线程都必须等待他释放解释器的访问权,即这些线程的下一条指令并不会互相影响. 缺点:多处理器退化为单处理器 优点:避免大量 ...

  5. JS_高程6.面向对象的程序设计(2)创建对象_1

    一.创建对象的常见方法 (1)Object构造函数创建单个对象,早期的JavaScript开发人员经常使用该模式创建新对象. var person=new Object(); person.name= ...

  6. JS_高程5.引用类型(1)Object类型

    引用类型 在ECMASCript中,引用类型是一种数据结构,将数据和功能组织在一起,引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法.(注意:尽管ECMAScript从技术上 ...

  7. sench touch 页面跳转

    下面是我做的一个简单的登录页面登录成功后跳转页面 首页要在app.js 里面添加 1.视图层   登录页面 Ext.define('MyApp.view.Login', { extend: 'Ext. ...

  8. 【高精度&想法题】Count the Even Integers @ICPC2017HongKong/upcexam5563#Java

    时间限制: 1 Sec 内存限制: 128 MB Yang Hui's Triangle is defined as follow. In the first layer, there are two ...

  9. OBDII Interface Project Source Code

    http://www.oocities.org/sstandfast/OBDII.htm 1 // File: VPWM.jal // Author: Shawn Standfast // Versi ...

  10. gitlab简单使用教程【转】

    平时一直是用git来管理代码仓库,也用过一段时间github,但是github免费版不能建私有仓库.后来转到了bitbucket,后来被atlassian收购后有点不适应,而且在国内访问经常连不上.还 ...