网卡流量监控脚本 ( Python )
2016-06-30 16:20
621 查看
#!/usr/bin/env python # coding: utf-8 # author: Xiao Guaishou try: import psutil except ImportError: print('Error: psutil module not found!') exit() def get_key(): key_info = psutil.net_io_counters(pernic=True).keys() recv = {} sent = {} for key in key_info: recv.setdefault(key, psutil.net_io_counters(pernic=True).get(key).bytes_recv) sent.setdefault(key, psutil.net_io_counters(pernic=True).get(key).bytes_sent) return key_info, recv, sent def get_rate(func): import time key_info, old_recv, old_sent = func() time.sleep(1) key_info, now_recv, now_sent = func() net_in = {} net_out = {} for key in key_info: net_in.setdefault(key, (now_recv.get(key) - old_recv.get(key)) / 1024) net_out.setdefault(key, (now_sent.get(key) - old_sent.get(key)) / 1024) return key_info, net_in, net_out while 1: try: key_info, net_in, net_out = get_rate(get_key) for key in key_info: print('%s\nInput:\t %-5sKB/s\nOutput:\t %-5sKB/s\n' % (key, net_in.get(key), net_out.get(key))) except KeyboardInterrupt: exit() # End
相关文章推荐
- wxpython入门级笔记
- Python中functools模块的常用函数解析
- python下的socket常用方法举例
- python下的socket常用方法举例
- window下安装Python的机器学习包numpy+scipy+matplotlib+scikit-learn
- numpy常用矩阵计算函数总结
- python字符串拼接
- PYTHON-正则表达式用法
- Python3异常处理
- Sublime text_python开发环境设置(windows下)
- 深入浅析Python中join 和 split详解(推荐)
- Python--关于连接符+
- numpy 备忘录
- Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()
- 发邮件自动回复本机IP——python版本
- python学习之unicode编码
- python使用MIMEMultipart发送多个附件的邮件
- Hinton's Dropout in 3 Lines of Python
- python flush使用
- Python:zip函数