基本上我想读取python中的cpu温度。请以外行的方式解释,因为我以前从未在Windows上做过这个,也没有必要和wmi一起工作。
这就是我现在所拥有的:
import wmi
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print temperature_info.CurrentTemperature
(我从这个帖子得到了这段代码:Accessing CPU temperature in python)
然而,在运行脚本时,我收到此错误:
Traceback (most recent call last):
File "C:\Users\Ryan\Desktop\SerialSystemMonitor", line 4, in <module>
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
File "C:\Python27\lib\site-packages\wmi.py", line 819, in query
handle_com_error ()
File "C:\Python27\lib\site-packages\wmi.py", line 241, in handle_com_error
raise klass (com_error=err)
x_wmi: <x_wmi: Unexpected COM Error (-2147217396, 'OLE error 0x8004100c', None, None)>
我该怎么做才能让它发挥作用?
答案 0 :(得分:1)
根据WMI Error Constants上的MSDN页面,您收到的错误是:
<强> WBEM_E_NOT_SUPPORTED 强>
2147749900(0x8004100C)不支持功能或操作。
据推测,您的CPU不会通过WMI提供温度信息。如果您的CPU没有公开这些信息,那么您可能运气不好,至少就Python中的直接解决方案而言。
我假设您已尝试使用Win32_TemperatureProbe()
在您链接的答案中给出的其他选项;如果你还没有,试试吧。
答案 1 :(得分:1)
只需以管理员身份执行即可。这对我有用。