Python获取Windows硬件信息
在计算机系统中,硬件信息是指计算机硬件设备的相关参数和配置信息。而获取硬件信息对于系统管理、性能监控、故障排查等应用场景非常重要。本文将介绍如何使用Python来获取Windows操作系统的硬件信息,并提供相应的代码示例。
1. 获取CPU信息
中央处理器(CPU)是计算机的核心组件之一,负责执行计算机指令并处理数据。下面的代码演示了如何使用Python获取Windows系统中的CPU信息。
import wmi
def get_cpu_info():
c = wmi.WMI()
processors = c.Win32_Processor()
cpu_info = []
for processor in processors:
cpu_info.append({
'Name': processor.Name,
'Manufacturer': processor.Manufacturer,
'MaxClockSpeed': processor.MaxClockSpeed,
'NumberOfCores': processor.NumberOfCores
})
return cpu_info
if __name__ == '__main__':
cpu_info = get_cpu_info()
for cpu in cpu_info:
print(cpu)
上述代码中,我们使用了wmi
模块来实现对Windows系统的硬件信息获取。通过Win32_Processor
类可以获取所有CPU的相关信息,如名称、制造商、最大时钟速度和核心数量等。
2. 获取内存信息
内存是计算机用于临时存储数据的重要组件,它在系统运行过程中承担着存储程序和数据的任务。下面的代码示例展示了如何使用Python获取Windows系统中的内存信息。
import wmi
def get_memory_info():
c = wmi.WMI()
memory = c.Win32_PhysicalMemory()
memory_info = []
for m in memory:
memory_info.append({
'Capacity': m.Capacity,
'Manufacturer': m.Manufacturer,
'Speed': m.Speed
})
return memory_info
if __name__ == '__main__':
memory_info = get_memory_info()
for memory in memory_info:
print(memory)
在上述代码中,我们使用了Win32_PhysicalMemory
类来获取Windows系统中的物理内存信息,包括容量、制造商和速度等参数。
3. 获取硬盘信息
硬盘是计算机中用于永久存储数据的设备,通常用于存储操作系统、应用程序和用户数据等。下面的代码演示了如何使用Python获取Windows系统中的硬盘信息。
import wmi
def get_disk_info():
c = wmi.WMI()
disks = c.Win32_DiskDrive()
disk_info = []
for disk in disks:
partitions = disk.associators("Win32_DiskDriveToDiskPartition")
for partition in partitions:
logical_disks = partition.associators("Win32_LogicalDiskToPartition")
for logical_disk in logical_disks:
disk_info.append({
'Model': disk.Model,
'SerialNumber': disk.SerialNumber,
'Size': disk.Size,
'DriveLetter': logical_disk.Caption
})
return disk_info
if __name__ == '__main__':
disk_info = get_disk_info()
for disk in disk_info:
print(disk)
在上述代码中,我们使用了Win32_DiskDrive
、Win32_DiskDriveToDiskPartition
和Win32_LogicalDiskToPartition
类来获取Windows系统中的硬盘信息。通过遍历关联关系,我们可以获取到硬盘的型号、序列号、大小以及分区的驱动器字母等参数。
4. 获取网络适配器信息
网络适配器是计算机与网络之间的桥梁,它负责将计算机的数据转化为网络可以识别和传输的格式。下面的代码示例展示了如何使用Python获取Windows系统中的网络适配器信息。
import wmi
def get_network_adapter_info():
c = wmi.WMI()
adapters = c.Win32_NetworkAdapter()
adapter_info = []
for adapter in adapters:
if adapter.NetConnectionStatus == 2:
adapter_info.append({
'Description': adapter.Description,
'MACAddress': adapter.MACAddress,
'IPAddress': adapter.IPAddress[0]
})
return adapter_info
if __name__ == '__main__':
adapter_info = get_network_adapter_info()