Python “列表索引超出范围”
下面我有下面的代码,应该得到CPU的温度Python “列表索引超出范围”,python,windows,wmi,cpu,Python,Windows,Wmi,Cpu,下面我有下面的代码,应该得到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&
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中,顺便说一句。这只是意味着TemperatureProbe没有在您的机器上实现,可能是您的硬件供应商 您的另一个选项是连接到root\WMI命名空间,并从MSAcpi_ThermalZoneTemperature查询select*,它将返回探测器,您可以查询十分之一开尔文的当前温度。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
由于某些原因,python似乎不喜欢您的语法。唯一缺少的是我添加的导入wmi-我假设您上面发布的代码中已经有了它。否则,它将直接从python终端复制/粘贴。如果你在这里产生实际的错误信息,也许我可以帮助你找出你这边的错误。