2016-11-28 2 views

Antwort

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) 
Verwandte Themen