Python用WMI模块获取Windows系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息。
本文实例讲述了python使用wmi模块获取windows下的系统信息 监控系统
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#!/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下的系统信息 监控系统的相关知识,希望对大家有所帮助。