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")