python使用wmi模块获取windows下的系统信息 监控系统

1225次阅读  |  发布于5年以前

Python用WMI模块获取Windows系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息。

本文实例讲述了python使用wmi模块获取windows下的系统信息 监控系统


     #!/usr/bin/env python 
     # -*- coding: utf- -*- 
     #http://www.cnblogs.com/liu-ke/
     import wmi 
     import os 
     import sys 
     import platform 
     import time 
     def sys_version(): 
       c = wmi.WMI () 
       #获取操作系统版本 
       for sys in c.Win_OperatingSystem(): 
         print "Version:%s" % sys.Caption.encode("UTF"),"Vernum:%s" % sys.BuildNumber 
         print sys.OSArchitecture.encode("UTF")#系统是位还是位的 
         print sys.NumberOfProcesses #当前系统运行的进程总数
     def cpu_mem(): 
       c = wmi.WMI ()    
       #CPU类型和内存 
       for processor in c.Win_Processor(): 
         #print "Processor ID: %s" % processor.DeviceID 
         print "Process Name: %s" % processor.Name.strip() 
       for Memory in c.Win_PhysicalMemory(): 
         print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/) 
     def disk(): 
       c = wmi.WMI ()  
       #获取硬盘分区 
       for physical_disk in c.Win_DiskDrive (): 
         for partition in physical_disk.associators ("Win_DiskDriveToDiskPartition"): 
           for logical_disk in partition.associators ("Win_LogicalDiskToPartition"): 
             print physical_disk.Caption.encode("UTF"), partition.Caption.encode("UTF"), logical_disk.Caption 
       #获取硬盘使用百分情况 
       for disk in c.Win_LogicalDisk (DriveType=): 
         print disk.Caption, "%.f%% free" % (. * long (disk.FreeSpace) / long (disk.Size)) 
     def network(): 
       c = wmi.WMI ()  
       #获取MAC和IP地址 
       for interface in c.Win_NetworkAdapterConfiguration (IPEnabled=): 
         print "MAC: %s" % interface.MACAddress 
       for ip_address in interface.IPAddress: 
         print "ip_add: %s" % ip_address 
       print 
     def main(): 
       sys_version() 
       cpu_mem() 
       #disk() 
       #network() 
     if __name__ == '__main__': 
       main() 
       print platform.system() 
       print platform.release() 
       print platform.version() 
       print platform.platform() 
       print platform.machine()

以上内容是关于python使用wmi模块获取windows下的系统信息 监控系统的相关知识,希望对大家有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8