监测windows内存等系统参数模块 wmi

安装:

如果python2.7以上版本,需要直接下载源码后 python setup.py install

exe安装包无法识别2.7以上版本

例子:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
 
import wmi 
import os 
import sys 
import platform 
import time 
 
def sys_version():  
    c = wmi.WMI () 
    #获取操作系统版本 
    for sys in c.Win32_OperatingSystem(): 
        print "Version:%s" % sys.Caption.encode("UTF8"),"Vernum:%s" % sys.BuildNumber 
        print  sys.OSArchitecture.encode("UTF8")#系统是32位还是64位的 
        print sys.NumberOfProcesses #当前系统运行的进程总数
 
def cpu_mem(): 
    c = wmi.WMI ()        
    #CPU类型和内存 
    for processor in c.Win32_Processor(): 
        #print "Processor ID: %s" % processor.DeviceID 
        print "Process Name: %s" % processor.Name.strip() 
    for Memory in c.Win32_PhysicalMemory(): 
        print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/1048576) 
 
def cpu_use(): 
    #5s取一次CPU的使用率 
    c = wmi.WMI()
    count=0
    while True: 
        for cpu in c.Win32_Processor(): 
             timestamp = time.strftime('%a, %d %b %Y %H:%M:%S', time.localtime()) 
             print '%s | Utilization: %s: %d %%' % (timestamp, cpu.DeviceID, cpu.LoadPercentage) 
             time.sleep(2)
             count+=1
        if count==3:
            break
              
def disk(): 
    c = wmi.WMI ()    
    #获取硬盘分区 
    for physical_disk in c.Win32_DiskDrive (): 
        for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"): 
            for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"): 
                print physical_disk.Caption.encode("UTF8"), partition.Caption.encode("UTF8"), logical_disk.Caption 
     
    #获取硬盘使用百分情况 
    for disk in c.Win32_LogicalDisk (DriveType=3): 
        print disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size)) 
 
def network(): 
    c = wmi.WMI ()     
    #获取MAC和IP地址 
    for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1): 
        print "MAC: %s" % interface.MACAddress 
    for ip_address in interface.IPAddress: 
        print "ip_add: %s" % ip_address 
    print 
     
##    #获取自启动程序的位置 
##    for s in c.Win32_StartupCommand (): 
##        print "[%s] %s <%s>" % (s.Locatio.encode("UTF8"), s.Caption.encode("UTF8"), s.Command.encode("UTF8"))  
     
     
##    #获取当前运行的进程 
##    for process in c.Win32_Process (): 
##        print process.ProcessId, process.Name 
 
def main():
    print "========version========"
    sys_version() 
    print "========cpu memory====="
    cpu_mem()
    print "========disk==========="
    disk()
    print "========network========"
    network()
    print "========cpu use========"
    cpu_use() 
 
if __name__ == '__main__': 
    main() 
##    print platform.system() 
##    print platform.release() 
##    print platform.version() 
##    print platform.platform() 
##    print platform.machine() 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值