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)
以上是几种常用的获取系统硬件信息的方法,根据系统平台选择合适的方法进行使用即可。
