Discuz! BBS

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 494|回复: 3

PYthon获取计算机硬件情况

[复制链接]

254

主题

363

帖子

2431

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2431
发表于 2024-12-4 23:52:01 | 显示全部楼层 |阅读模式
获取Linux的硬件实时数据,采用:
  1. import psutil

  2. # 获取CPU使用情况
  3. cpu_percent = psutil.cpu_percent()
  4. print(f"CPU使用率: {cpu_percent}%")

  5. # 获取内存使用情况
  6. memory_percent = psutil.virtual_memory().percent
  7. print(f"内存使用率: {memory_percent}%")
复制代码
回复

使用道具 举报

254

主题

363

帖子

2431

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2431
 楼主| 发表于 2024-12-24 20:31:58 | 显示全部楼层
获取Windows建议使用OpenHardwareMonitorlib.dll
这里贴一个小朋友写的很好的教程:
使用Python调用OpenHardwareMonitorLib.dll进行硬件信息读取(CPU/GPU温度)
https://www.bilibili.com/opus/934333718271623217
回复

使用道具 举报

254

主题

363

帖子

2431

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2431
 楼主| 发表于 2025-1-1 12:44:25 | 显示全部楼层
  1. using System;
  2. using System.Linq;
  3. using OpenHardwareMonitor.Hardware;

  4. namespace ExampleApp
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             Computer computer = new Computer();
  11.             computer.OpenPcSpeaker = true;

  12.             computer.CPUEnabled = true;
  13.             computer.FanControllerEnabled = true;
  14.             computer.GPUEnabled = true;
  15.             computer.HDDEnabled = true;
  16.             computer.MainboardEnabled = true;
  17.             computer.RAMEnabled = true;

  18.             computer.Open();

  19.             foreach (var hardware in computer.Hardware)
  20.             {
  21.                 Console.WriteLine(hardware.Type);
  22.                 foreach (var sensor in hardware.Sensors)
  23.                 {
  24.                     Console.WriteLine("\t" + sensor.SensorType + ": " + sensor.Value);
  25.                 }
  26.             }

  27.             computer.Close();
  28.         }
  29.     }
  30. }
复制代码
回复

使用道具 举报

254

主题

363

帖子

2431

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2431
 楼主| 发表于 2025-1-9 23:40:08 | 显示全部楼层
  1. using OpenHardwareMonitor.Hardware;

  2. // 创建硬件集合
  3. Computer computer = new Computer();

  4. // 检测硬件
  5. computer.OpenHardware(new OpenHardwareMonitor.Hardware.HardwareType[] {
  6.     OpenHardwareMonitor.Hardware.HardwareType.CPU
  7. });

  8. // 获取CPU的信息
  9. foreach (var hardwareItem in computer.Hardware)
  10. {
  11.     if (hardwareItem.HardwareType == OpenHardwareMonitor.Hardware.HardwareType.CPU)
  12.     {
  13.         var cpu = (CPU)hardwareItem;
  14.         foreach (var sensor in cpu.Sensors)
  15.         {
  16.             if (sensor.SensorType == OpenHardwareMonitor.Hardware.SensorType.Fan)
  17.             {
  18.                 // 输出风扇转速
  19.                 Console.WriteLine($"CPU Fan Speed: {sensor.Value} RPM");
  20.             }
  21.         }
  22.     }
  23. }

  24. // 关闭硬件检测
  25. computer.CloseHardware();
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-4-16 04:16 , Processed in 0.012978 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表