在Windows下获取系统信息(CPU速度 – 总RAM内存卡型号等)

我搜查了很多,但找不到任何有用的东西。 这有可能获得像系统信息;

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

Windows下? 我怎样才能达到这个输出?

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

我一直想知道如何自己做一段时间,所以我挖了一下,并提出了这个解决方案使用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控制器类中访问的其他变量,请查看此文档:

  • 的Win32_ComputerSystem
  • Win32_OperatingSystem
  • Win32_Processor
  • Win32_VideoController

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


更新:对于系统RAM,可以使用os_info.TotalVisibleMemorySize (以千字节为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