2014-01-10 145 views
3

基本上我想讀取python中的cpu溫度。請用外行人的話來解釋,因爲我以前從來沒有在windows上做過這件事,也不需要和wmi一起工作。在windows上獲取CPU溫度

這是我的時刻:

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)> 

我能做些什麼才能使其工作?

回答

1

據對WMI Error Constants的MSDN頁面,您收到的錯誤是:

WBEM_E_NOT_SUPPORTED
2147749900 (0x8004100C)

Feature or operation is not supported.

據推測,那麼,你的CPU不通過WMI提供的溫度信息。如果你的CPU沒有公開這些信息,那麼你很可能倒黴了,至少就Python的簡單解決方案而言。

我假設您已經嘗試了您鏈接的答案中給出的其他選項,使用Win32_TemperatureProbe();如果你還沒有,嘗試一下。

+0

我的確曾嘗試過。我猜Python是不是真的最好的語言,所以我要去嘗試C++。請查看這裏的線程:http://stackoverflow.com/questions/21060944/get-temperature-in-c-with-core-temp-sdk – user1803425

1

只需以管理員身份執行。這對我有用。

+1

這並沒有提供一個問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 - [來自評論](/評論/低質量帖/ 10325220) –

+1

@JamesKPolk我不同意。我不知道這是否能解決問題,甚至是有道理的,但我認爲這是一個有效的答案。如果事實證明是錯誤的,則應該下調,而不是標記。 –