欢迎访问宙启技术站
智能推送

Python中如何获取系统的硬件信息

发布时间:2024-01-17 12:34:04

在Python中,可以使用多种方式获取系统的硬件信息。下面介绍几种常用的方法,并提供相应的使用示例。

1. 使用platform模块获取系统相关信息

platform模块提供了一些函数用于获取系统的相关信息,包括操作系统名称、版本、架构等。

import platform

# 获取操作系统的名称
os_name = platform.system()
print("操作系统:", os_name)

# 获取操作系统的版本
os_version = platform.version()
print("操作系统版本:", os_version)

# 获取操作系统的架构
os_arch = platform.machine()
print("操作系统架构:", os_arch)

2. 使用psutil库获取系统硬件相关信息

psutil是一个跨平台的库,用于访问系统进程和系统资源。它提供了一系列函数来获取处理器、内存、磁盘、网络等硬件信息。

import psutil

# 获取CPU的物理核心数
cpu_count = psutil.cpu_count(logical=False)
print("CPU物理核心数:", cpu_count)

# 获取CPU的逻辑核心数
logical_cores = psutil.cpu_count(logical=True)
print("CPU逻辑核心数:", logical_cores)

# 获取内存总量
total_memory = psutil.virtual_memory().total
print("总内存:", total_memory)

# 获取磁盘使用情况
disk_usage = psutil.disk_usage('/')
used_space = disk_usage.used
total_space = disk_usage.total
print("磁盘使用情况:已使用 {} 字节,总共 {} 字节".format(used_space, total_space))

3. 使用wmi库获取硬件信息(仅适用于Windows系统)

wmi库是Python的Windows管理库,通过WMI接口获取系统硬件信息。需要额外安装pywin32库才可以使用。

import wmi

# 连接到WMI服务
conn = wmi.WMI()

# 获取CPU信息
cpus = conn.Win32_Processor()
for cpu in cpus:
    print("CPU型号:", cpu.Name)
    print("CPU主频:", cpu.MaxClockSpeed)

# 获取内存信息
memorys = conn.Win32_PhysicalMemory()
for memory in memorys:
    print("内存容量:", memory.Capacity)

# 获取硬盘信息
disks = conn.Win32_DiskDrive()
for disk in disks:
    print("硬盘型号:", disk.Model)
    print("硬盘容量:", disk.Size)

4. 使用sysctl命令获取硬件信息(仅适用于Mac和Linux系统)

sysctl是一个命令行工具,用于获取和设置内核参数。可以使用subprocess模块执行sysctl命令获取硬件信息。

import subprocess

# 获取CPU信息
cpu_info = subprocess.check_output(['sysctl', 'machdep.cpu.brand_string']).decode().strip()
print("CPU信息:", cpu_info)

# 获取内存总量
memory_info = subprocess.check_output(['sysctl', 'hw.memsize']).decode().strip()
print("总内存:", memory_info)

以上是几种常用的获取系统硬件信息的方法,根据系统平台选择合适的方法进行使用即可。