相关文章推荐

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)。您可以根据自己的需求选择适合的方法

 
推荐文章