python获取windows各硬件信息 python获取系统内存和CPU信息

1. 获取系统内存信息

1.1 使用psutil库

在Python中,可以使用psutil库来获取系统内存信息。psutil是一个跨平台的进程和系统监控库,可以轻松地获取系统性能相关的信息,包括CPU、内存、磁盘、网络等。

先安装psutil库:

pip install psutil

接下来,使用以下代码获取系统内存信息:

import psutil

# 获取系统总的内存大小

total_memory = psutil.virtual_memory().total

# 获取系统可用的内存大小

available_memory = psutil.virtual_memory().available

# 获取系统已使用的内存大小

used_memory = psutil.virtual_memory().used

# 获取系统内存的使用率

memory_usage = psutil.virtual_memory().percent

# 打印结果

print("总内存:", total_memory)

print("可用内存:", available_memory)

print("已使用内存:", used_memory)

print("内存使用率:", memory_usage)

上述代码中,我们使用psutil库中的virtual_memory()方法来获取系统内存信息。其中,total返回系统总的内存大小,available返回系统可用的内存大小,used返回系统已使用的内存大小,percent返回系统内存的使用率。

1.2 使用wmi库

除了psutil库,还可以使用wmi库来获取系统内存信息。wmi是Python中一个用于操作Windows管理接口的库,可以方便地获取各类系统信息。

首先,我们需要安装wmi库:

pip install wmi

然后,使用以下代码获取系统内存信息:

import wmi

# 连接WMI对象

c = wmi.WMI()

# 查询物理内存信息

for mem in c.Win32_PhysicalMemory():

print("容量:", mem.Capacity)

print("已用内存:", mem.Capacity - mem.FreeSpace)

print("内存使用率:", (mem.Capacity - mem.FreeSpace) / mem.Capacity)

上述代码中,我们使用wmi库连接到WMI对象,并查询Win32_PhysicalMemory类来获取物理内存信息。在循环遍历查询结果时,我们可以获取容量、已用内存和内存使用率等。

2. 获取CPU信息

2.1 使用psutil库

与获取系统内存信息类似,使用psutil库也可以轻松地获取系统的CPU信息。

继续使用psutil库的方法:

import psutil

# 获取CPU核心数

cpu_count = psutil.cpu_count()

# 获取CPU使用率

cpu_usage = psutil.cpu_percent(interval=1)

# 打印结果

print("CPU核心数:", cpu_count)

print("CPU使用率:", cpu_usage)

上述代码中,我们使用psutil库的cpu_count()方法来获取CPU的核心数,cpu_percent()方法来获取CPU的使用率。其中,interval参数表示采样时间间隔,单位为秒。

2.2 使用wmi库

除了psutil库,我们还可以使用wmi库来获取系统CPU的信息。

同样地,我们需要安装wmi库:

pip install wmi

接下来,使用以下代码获取CPU信息:

import wmi

# 连接WMI对象

c = wmi.WMI()

# 查询处理器信息

for processor in c.Win32_Processor():

print("CPU核心数:", processor.NumberOfCores)

print("CPU使用率:", processor.LoadPercentage)

上述代码中,我们使用wmi库连接到WMI对象,并查询Win32_Processor类来获取处理器信息。通过循环遍历查询结果,我们可以分别获取CPU的核心数和使用率。

综上所述,使用psutil库和wmi库都可以方便地获取系统内存和CPU的相关信息。根据需求选择适合的库来获取硬件信息。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签