2024-06-16 08:24:28 发布
网友
根据这个OS-agnostic question,特别是this response,类似于Linux上/proc/meminfo之类的数据,我如何使用Python从Windows读取系统信息(包括但不限于内存使用)。
在Windows中,如果您想从SYSTEMINFO命令获得类似的信息,可以使用WMI module.
import wmi c = wmi.WMI() systeminfo = c.Win32_ComputerSystem()[0] Manufacturer = systeminfo.Manufacturer Model = systeminfo.Model
。。。
类似地,操作系统相关信息可以从osinfo = c.Win32_OperatingSystem()[0]中获取 system info is here和os info is here的完整列表
osinfo = c.Win32_OperatingSystem()[0]
您可以尝试使用我刚才创建的systeminfo.exe包装器,它有点不正规,但它似乎很容易做到,而且没有太多代码。
这应该可以在2000/XP/2003服务器上运行,并且应该可以在Vista和Win7上运行,前提是它们带有systeminfo.exe并且位于路径上。
import os, re def SysInfo(): values = {} cache = os.popen2("SYSTEMINFO") source = cache[1].read() sysOpts = ["Host Name", "OS Name", "OS Version", "Product ID", "System Manufacturer", "System Model", "System type", "BIOS Version", "Domain", "Windows Directory", "Total Physical Memory", "Available Physical Memory", "Logon Server"] for opt in sysOpts: values[opt] = [item.strip() for item in re.findall("%s:\w*(.*?)\n" % (opt), source, re.IGNORECASE)][0] return values
您可以很容易地将其余的数据字段追加到sysOpts变量,但不包括那些为其结果提供多行的数据字段,如CPU&NIC信息。regexp行的简单mod应该能够处理这个问题。
享受吧!
有人问了一个类似的问题:
How to get current CPU and RAM usage in Python?
有很多答案告诉你如何在windows中实现这一点。
在Windows中,如果您想从SYSTEMINFO命令获得类似的信息,可以使用WMI module.
。。。
类似地,操作系统相关信息可以从
osinfo = c.Win32_OperatingSystem()[0]
中获取 system info is here和os info is here的完整列表您可以尝试使用我刚才创建的systeminfo.exe包装器,它有点不正规,但它似乎很容易做到,而且没有太多代码。
这应该可以在2000/XP/2003服务器上运行,并且应该可以在Vista和Win7上运行,前提是它们带有systeminfo.exe并且位于路径上。
您可以很容易地将其余的数据字段追加到sysOpts变量,但不包括那些为其结果提供多行的数据字段,如CPU&NIC信息。regexp行的简单mod应该能够处理这个问题。
享受吧!
有人问了一个类似的问题:
How to get current CPU and RAM usage in Python?
有很多答案告诉你如何在windows中实现这一点。
相关问题 更多 >
编程相关推荐