在windows上用python获取CPU温度

在windows上用python获取CPU温度,python,python-2.7,wmi,cpu,temperature,Python,Python 2.7,Wmi,Cpu,Temperature,基本上,我想用Python读取CPU温度。请用外行术语解释,因为我以前从未在Windows上这样做过,也不必使用wmi 这就是我目前的情况: import wmi w = wmi.WMI(namespace="root\wmi") temperature_info = w.MSAcpi_ThermalZoneTemperature()[0] print temperature_info.CurrentTemperature (我从这个线程获得了这个代码:) 但是,在运行脚本

基本上,我想用Python读取CPU温度。请用外行术语解释,因为我以前从未在Windows上这样做过,也不必使用
wmi

这就是我目前的情况:

import wmi
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print temperature_info.CurrentTemperature
(我从这个线程获得了这个代码:)

但是,在运行脚本时,出现以下错误:

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)>
回溯(最近一次呼叫最后一次):
文件“C:\Users\Ryan\Desktop\SerialSystemMonitor”,第4行,在
温度\u信息=w.MSAcpi\u热区温度()[0]
查询中第819行的文件“C:\Python27\lib\site packages\wmi.py”
处理com错误()
文件“C:\Python27\lib\site packages\wmi.py”,第241行,在handle\u com\u错误中
升起klass(com_错误=err)
x_wmi:

如何才能使其正常工作?

根据上的MSDN页面,您收到的错误是:

不支持WBEM\u E\u
2147749900(0x8004100C)

不支持功能或操作

那么,您的CPU可能不会通过WMI提供温度信息。如果您的CPU没有公开这些信息,那么您可能就不走运了,至少在Python的简单解决方案中是这样


我假设您已经尝试了链接答案中给出的另一个选项,使用Win32_TemperatureProbe();如果没有,请尝试。

以管理员身份执行即可。这对我来说很有效。

我确实试过了。我猜Python不是最好的语言,所以我将尝试C++。请检查这里的线程:这并没有提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时对自己的帖子发表评论,一旦您有足够的评论,您就可以发表评论。-@我不同意。我不知道这是否解决了问题,甚至没有意义,但我认为这是一个有效的答案。如果结果是错误的,它应该被否决,而不是被标记。