使用win32api在Python中实现系统信息获取的方法
发布时间:2024-01-07 15:01:04
在Python中,可以使用win32api模块获取系统信息。下面将介绍如何使用win32api获取计算机的硬件和操作系统信息。
首先,需要安装pywin32模块,可以使用pip安装:
pip install pywin32
然后,可以使用如下代码来获取系统信息:
import platform
import win32api
def get_system_info():
system_info = {}
# 获取操作系统名称和版本号
system_info["os_name"] = platform.system()
system_info["os_version"] = platform.version()
# 获取计算机名称
system_info["computer_name"] = win32api.GetComputerName()
# 获取 CPU 信息
system_info["cpu_name"] = platform.processor()
# 获取内存大小
total_memory = win32api.GlobalMemoryStatus()["TotalPhysical"]
system_info["memory_size"] = round(total_memory / 1024 / 1024 / 1024, 2)
# 获取硬盘信息
drives = win32api.GetLogicalDriveStrings()
drives = drives.split('\000')[:-1]
for drive in drives:
drive_info = {}
drive_type = win32api.GetDriveType(drive)
drive_info["drive_name"] = drive
drive_info["drive_type"] = drive_type
# 只获取固定磁盘的信息
if drive_type == win32api.DRIVE_FIXED:
drive_info["drive_total_size"] = round(win32api.GetDiskFreeSpaceEx(drive)[0] / 1024 / 1024 / 1024, 2)
system_info[drive] = drive_info
return system_info
上述代码定义了一个get_system_info函数,该函数通过调用win32api函数获取操作系统名称、版本号、计算机名称、CPU信息、内存大小和硬盘信息等系统信息,并将其保存在一个字典中进行返回。
下面是一个使用示例,在控制台打印系统信息:
system_info = get_system_info()
print("操作系统名称:", system_info["os_name"])
print("操作系统版本号:", system_info["os_version"])
print("计算机名称:", system_info["computer_name"])
print("CPU信息:", system_info["cpu_name"])
print("内存大小(GB):", system_info["memory_size"])
for drive, drive_info in system_info.items():
if drive.startswith("C:"):
print("
C盘信息:")
print("磁盘名称:", drive_info["drive_name"])
print("磁盘类型:", drive_info["drive_type"])
print("磁盘总大小(GB):", drive_info["drive_total_size"])
在这个示例中,get_system_info函数返回的系统信息字典中,我们只选择了C盘的信息进行打印。
通过调用win32api模块的相关函数,可以实现获取更多的系统信息,如网络信息、显卡信息等。根据具体的需求,可以进一步扩展上述代码来获取更多的系统信息并进行处理。
