如何获取任务管理器网络利用率百分比

时间:2016-11-28 08:02:48

标签: python

我尝试使用psutil,但我不确定如何才能获得网络利用率百分比。

enter image description here

1 个答案:

答案 0 :(得分:0)

import psutil
import time
def __check_speeds():
    rs = {}
    for net_name,stats in psutil.net_if_stats().items():
        if type(stats) is tuple or not stats.isup:
            continue
        rs[net_name] = stats.speed
    return rs
def __snapshoot():
    rs = {}
    for net_name,stats in psutil.net_io_counters(pernic=True).items():
        rs[net_name] = stats.bytes_recv
    return rs
if __name__=='__main__':
    nets = __check_speeds()
    while True:
        print '###########################'
        snap_prev = __snapshoot()
        time.sleep(1)
        snap_now = __snapshoot()
        for net_name,speed in nets.items():
            recv_prev = snap_prev[net_name]
            recv_now = snap_now[net_name]
            rate = (recv_now-recv_prev)/(speed*1024*1024/8.)
            print 'name:%s,rate:%.2f%%' % (net_name,rate*100)