OpenHardwareMonitor是一款优秀的开源电脑硬件信息获取工具,网上很多介绍的python中的调用方法需要同步打开OpenHardwareMonitor.exe,这是因为他们使用的是wmic方法。实际上,我们下载OpenHardwareMonitor中还有一个OpenHardwareMonitorLib.dll文件,如下:
实际上,我们是可以直接调用这个dll文件来同样实现在python中获取电脑硬件信息的,多的就不解释,这里直接上代码吧~~~~
import os
import clr
clr.AddReference(os.getcwd() + r'\windll\OpenHardwareMonitorLib.dll') # 目录可自定义
from OpenHardwareMonitor import Hardware
handle = Hardware.Computer()
handle.CPUEnabled = True # CPU模块
handle.RAMEnabled = True # 内存模块
handle.HDDEnabled = True # 硬盘模块
handle.Open()
for hardware in handle.Hardware:
hardware.Update()
for sensor in hardware.Sensors:
if sensor.Value is not None:
print(f"{hardware.HardwareType}_{sensor.SensorType}@{sensor.Name}:{sensor.Value:.1f}")
#endif
#next
#next
需要注意的是OpenHardwareMonitorLib.dll这里我是个人习惯放在python项目里的windll目录中的,你可以根据需要自定义。
以上代码,可以获取信息效果如下:
CPU_Clock@Bus Speed:100.1
CPU_Clock@CPU Core #1:4104.9
CPU_Clock@CPU Core #2:3504.1
CPU_Clock@CPU Core #3:2402.8
CPU_Clock@CPU Core #4:4104.9
CPU_Temperature@CPU Core #1:56.0
CPU_Temperature@CPU Core #2:69.0
CPU_Temperature@CPU Core #3:56.0
CPU_Temperature@CPU Core #4:92.0
CPU_Temperature@CPU Package:92.0
CPU_Load@CPU Core #1:8.3
CPU_Load@CPU Core #2:0.0
CPU_Load@CPU Core #3:8.3
CPU_Load@CPU Core #4:8.3
CPU_Load@CPU Total:6.2
CPU_Power@CPU Package:11.0
CPU_Power@CPU Cores:7.3
CPU_Power@CPU Graphics:0.1
CPU_Power@CPU DRAM:0.0
RAM_Load@Memory:79.0
RAM_Data@Used Memory:12.4
RAM_Data@Available Memory:3.3
HDD_Load@Used Space:51.7