目前只是获取window下网卡的流量信息,算是一个下载应用中的个性化插件效果体验。又需要的可以自己改进。

# coding:utf-8
__author__ = 'chenhuachao'
# --------------------------------
# Created by chenhuachao  on 2015/12/23.
# ---------------------------------
import wmi
import time
import platform

def get_network_flow(os):
    '''监控window平台下网卡的实时的流量信息
    通过当前总流量和一秒后的总流量的差值,来统计实时的网卡流量信息;
    返回的流量单位是KB
    '''
    if os == "Windows":
        c = wmi.WMI()
        for interfacePerTcp in c.Win32_PerfRawData_Tcpip_TCPv4():
            sentflow = float(interfacePerTcp.SegmentsSentPersec)  #已发送的流量
            receivedflow = float(interfacePerTcp.SegmentsReceivedPersec) #接收的流量
            present_flow = sentflow+receivedflow    #算出当前的总流量
        time.sleep(1)
        for interfacePerTcp in c.Win32_PerfRawData_Tcpip_TCPv4():
           sentflow = float(interfacePerTcp.SegmentsSentPersec)  #已发送的流量
           receivedflow = float(interfacePerTcp.SegmentsReceivedPersec) #接收的流量
           per_last_present_flow = sentflow+receivedflow     #算出1秒后当前的总流量
        present_network_flow = (per_last_present_flow - present_flow)/1024
        print "当前流量为:{0}KB".format("%.2f"%present_network_flow)
        return "%.2f"%present_network_flow

if __name__ =="__main__":
    os = platform.system()
    while 1:
        flow = get_network_flow(os)
        print "{0}KB".format(flow)