下面我有以下代码来获取CPU温度。
import wmi
w = wmi.WMI()
print w.Win32_TemperatureProbe()[0].CurrentReading
当我运行它时,我收到以下警告:
Traceback (most recent call last):
File "<string>", line 244, in run_nodebug
File "<module1>", line 3, in <module>
IndexError: list index out of range
这是在Windows 7中,顺便说一句。
答案 0 :(得分:1)
这仅表示您的计算机(可能是您的硬件供应商)上未实现TemperatureProbe。
您的另一个选择是连接到根\ WMI命名空间并查询“select * from MSAcpi_ThermalZoneTemperature”,它将返回探针,您可以查询当前温度,以十分之一的开尔文。 python的WMI中应该有一个类似的API。
更新:这里有一些有用的代码:
In [18]: import wmi
In [19]: w = wmi.WMI(namespace='root\\wmi')
In [20]: ti = w.MSAcpi_ThermalZoneTemperature()[0] # first probe
In [21]: ti.CurrentTemperature
Out[21]: 3242