Python获取CPU的温度

简介

在计算机领域中,CPU温度是一个重要的指标。过高的CPU温度可能会导致系统崩溃、性能下降甚至损坏硬件。因此,了解和监测CPU温度对于维护计算机的稳定运行至关重要。

本文将介绍如何使用Python编程语言获取CPU的温度。我们将使用几个流行的Python库和工具来实现这个目标。

方法和工具

1. 使用psutil库

[psutil](

首先,您需要安装psutil库。可以使用以下命令在命令行中进行安装:

pip install psutil

安装完成后,您可以使用以下代码获取CPU温度:

import psutil

def get_cpu_temperature():
    temperatures = psutil.sensors_temperatures()
    cpu_temperatures = temperatures['coretemp']
    average_temperature = sum(sensor.current for sensor in cpu_temperatures) / len(cpu_temperatures)
    return average_temperature

temperature = get_cpu_temperature()
print(f"CPU温度: {temperature}℃")

上述代码中,我们首先使用psutil.sensors_temperatures()方法获取所有的温度传感器信息。然后,我们从中选择核心温度传感器(通常是coretemp)。接着,我们计算出所有核心温度的平均值,并将其作为CPU温度返回。

2. 使用sensors命令

在Linux系统中,您可以使用sensors命令来获取CPU温度。该命令通常与lm-sensors软件包一起安装。

要在Python中使用sensors命令,我们可以使用subprocess库来运行命令并捕获输出。

以下是一个示例代码:

import subprocess

def get_cpu_temperature():
    process = subprocess.Popen(['sensors'], stdout=subprocess.PIPE)
    output, _ = process.communicate()
    
    # 查找CPU温度行
    for line in output.decode().split('\n'):
        if line.startswith('Package id'):
            temperature = line.split()[3][1:]
            return float(temperature)

temperature = get_cpu_temperature()
print(f"CPU温度: {temperature}℃")

上述代码中,我们使用subprocess.Popen()方法运行sensors命令,并将输出捕获到output变量中。然后,我们遍历输出的每一行,找到以“Package id”开头的行,并从中提取出温度值。

3. 使用WMI库(仅适用于Windows)

对于Windows系统,您可以使用[WMI]( Management Instrumentation(Windows管理工具)的缩写,用于获取与Windows操作系统相关的信息。

首先,您需要安装WMI库。可以使用以下命令在命令行中进行安装:

pip install WMI

安装完成后,您可以使用以下代码获取CPU温度:

import wmi

def get_cpu_temperature():
    w = wmi.WMI(namespace="root\\OpenHardwareMonitor")
    temperature_sensors = w.Sensor()
    
    # 查找CPU温度传感器
    for sensor in temperature_sensors:
        if sensor.SensorType == 'Temperature' and sensor.Name == 'CPU Package':
            temperature = sensor.Value
            return float(temperature)

temperature = get_cpu_temperature()
print(f"CPU温度: {temperature}℃")

上述代码中,我们首先创建了一个WMI对象,并指定命名空间为root\\OpenHardwareMonitor。然后,我们使用Sensor()方法获取所有的传感器信息。接着,我们遍历传感器列表,找到名称为“CPU Package”的温度传感器,并返回其温度值。

结论

本文介绍了如何使用Python获取CPU的温度。我们使用了不同的方法和工具来实现这个目标,包括使用psutil库、sensors命令和WMI库(仅适用于Windows)。您可以根据自己的需求选择适合的方法