在Windows下获取系统信息(CPU速度、总RAM图形卡型号等)

2024-04-20 03:54:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我找了很多,但找不到有用的东西。这有可能得到系统信息吗

CPU: Intel Core i7-3770K CPU @3.5Ghz
RAM: 8GB
Graphic Card: NVIDIA GeForce GTX 680

在窗户下面?我怎样才能达到这个输出?

编辑:platform.processor()没有提供我想要的输出。所以这对我没用。


Tags: core信息编辑系统cpucardnvidiaram
1条回答
网友
1楼 · 发布于 2024-04-20 03:54:41

我自己也一直在想怎么做,所以我仔细研究了一下,用wmi(这需要pywin32)找到了这个解决方案。当然,不用说,这只适用于Windows机器(问题有Windows标记)。

import wmi

computer = wmi.WMI()
computer_info = computer.Win32_ComputerSystem()[0]
os_info = computer.Win32_OperatingSystem()[0]
proc_info = computer.Win32_Processor()[0]
gpu_info = computer.Win32_VideoController()[0]

os_name = os_info.Name.encode('utf-8').split(b'|')[0]
os_version = ' '.join([os_info.Version, os_info.BuildNumber])
system_ram = float(os_info.TotalVisibleMemorySize) / 1048576  # KB to GB

print('OS Name: {0}'.format(os_name))
print('OS Version: {0}'.format(os_version))
print('CPU: {0}'.format(proc_info.Name))
print('RAM: {0} GB'.format(system_ram))
print('Graphics Card: {0}'.format(gpu_info.Name))

输出示例:

OS Name: Microsoft Windows 7 Ultimate 
OS Version: 6.1.7601 7601
CPU: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
RAM: 15.9443855286 GB
Graphics Card: NVIDIA GeForce GTX 960

您可以通过pip安装这两个必需的软件包:

pip install --upgrade wmi
pip install --upgrade pypiwin32

要查看在各种Win32控制器类中可以访问的其他变量,请查看以下文档:

在SO上找到相关答案:https://stackoverflow.com/a/11785020/295246


更新:对于系统RAM,可以使用os_info.TotalVisibleMemorySize(返回千字节值)或computer_info.TotalPhysicalMemory(返回字节值)。如果使用后者,则可以使用hurry.filesize将其快速转换为人类可读的字符串。

例如:

from hurry.filesize import size
...
size(int(computer_info.TotalPhysicalMemory))

在我的例子中输出:15G 你甚至可以把G修改成你想要的任何东西。请看下面的答案,了解更多信息:https://stackoverflow.com/a/5194348/295246

相关问题 更多 >