Мне нужен пример кода для доступа к температуре процессора в python.
Я использую windows 7, BTW.
Используйте модуль WMI + Open Hardware Monitor + его интерфейс WMI, описанный здесь.
Код примера:
import wmi
w = wmi.WMI(namespace="root\OpenHardwareMonitor")
temperature_infos = w.Sensor()
for sensor in temperature_infos:
if sensor.SensorType==u'Temperature':
print(sensor.Name)
print(sensor.Value)
Вы можете использовать pywin32 для доступа к встроенному API Windows. Я полагаю, что можно запросить температуру процессора через Windows API, если производитель драйвера вашей материнской платы зарегистрировал WMI Data Provider через свой драйвер. Если это так, вы можете загрузить расширения pywin32 и Python WMI модуль, упомянутые в ответе ars, а затем действовать следующим образом:
import wmi
w = wmi.WMI()
print w.Win32_TemperatureProbe()[0].CurrentReading
Если посмотреть на скрипт IronPython в ответе ars', то кажется, что есть и другой способ сделать это, используя другой объект WMI. Используя тот же API и подход, вы можете попробовать получить значение температуры с помощью функции
w = wmi.WMI(namespace="root\wmi")
temperature_info = w.MSAcpi_ThermalZoneTemperature()[0]
print temperature_info.CurrentTemperature
который, очевидно, должен возвращать значение температуры в десятых долях Кельвина, таким образом, чтобы получить градусы Цельсия, я полагаю, нужно просто разделить это значение на 10 и вычесть ~273.
Просмотрите библиотеку cputemp.
EDIT: на windows, возможно, вы сможете преобразовать этот IronPython скрипт, который использует WMI с помощью библиотеки python WMI library.