我想知道是否有办法在python中获得CPU和GPU的温度。我已经为Linux找到了一种方法(使用
psutil.sensors_temperature()
),而我想为Windows找到一种方法。
如果有办法找到Mac OS的温度,我也会很感激,但我主要是想有办法找到windows的温度。
我更喜欢只使用python模块,但DLL和C/C++扩展也是完全可以接受的。
When I try doing the below, I get None:
import wmi
w = wmi.WMI()
prin(w.Win32_TemperatureProbe()[0].CurrentReading)
当我尝试做以下工作时,我得到一个错误。
import wmi
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print(temperature_info.CurrentTemperature)
Error:
wmi.x_wmi: <x_wmi: Unexpected COM Error (-2147217396, 'OLE error 0x8004100c', None, None)>
我听说过OpenHardwareMoniter,但这需要我安装一些不是python模块的东西。我也希望不必以管理员身份运行脚本来获得结果。
我也可以用python运行windows cmd命令,但我没有找到一个可以返回CPU温度的命令。
更新:我发现了这个。https://stackoverflow.com/a/58924992/13710015.
但我不知道如何使用它。
当我试着做。print(OUTPUT_temp._fields_),我得到的结果是
[('Board Temp', <class 'ctypes.c_ulong'>), ('CPU Temp', <class 'ctypes.c_ulong'>), ('Board Temp2', <class 'ctypes.c_ulong'>), ('temp4', <class 'ctypes.c_ulong'>), ('temp5', <class 'ctypes.c_ulong'>)]
注意:我真的不想以管理员身份运行这个程序。如果我必须这样做,我可以,但我宁愿不这样做。