python利用WMI监控windows状态如CPU、内存、硬盘
安装pywin32库
下载地址: https://sourceforge.net/projects/pywin32/files%2Fpywin32/
选择对应python版本的文件。
下载后在windows安装好。
安装wmi库
下载地址:https://pypi.python.org/pypi/WMI/#downloads
下载后在windows安装好。
测试安装结果
import win32api
import wmi
如果没有报错就是安装好了。
查询可用类
import wmi
myWmi= wmi.WMI()
for cls in myWmi.classes:
print(cls)
# 可以显示如下的可用类(省略),常用;
- Win32_Processor 查CPU
- Win32_ComputerSystem 查内存
- Win32_LogicalDisk 查硬盘
查询CPU信息
从上面的可用类,有一个Win32_Processor
cpuArr = myWmi.Win32_Processor()
查出来之后,它有哪些属性可用?比方说,cpu的名字,几核? 这时候要到MSDN查WMI资料,地址:https://msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx
- uint32 MaxClockSpeed;
- string Name;
-
uint32 NumberOfCores;
for cpu in cpuArr : print('cpu:', cpu.loadPercentage, cpu.numberOfCores, cpu.name, cpu.maxClockSpeed/1000) # 上面查的属性名,首字母在python中变为小写. # cpu: 10 2 Intel(R) Pentium(R) CPU G3260 @ 3.30GHz 3.3
其他
比如查服务,查进程,查硬盘,方法同上
连接到另一台电脑
wmiService = wmi.WMI("192.168.0.1", user=r"administrator", password="123456")