下面是“python使用wmi模块获取windows下的系统信息监控系统”的完整攻略。
什么是wmi模块
Windows管理工具界面(WMI)是一种用于 Windows 操作系统的管理组件。它提供了一个面向对象的框架,允许管理远程和本地的 Windows 系统。
在Python中我们可以使用wmi
模块进行管理和相关信息查询。
安装wmi模块
首先我们需要安装wmi
模块,使用pip安装即可:
pip install wmi
获取系统信息
- 获取系统基本信息:
import wmi
c = wmi.WMI()
for sys in c.Win32_ComputerSystem():
print(f"系统名称:{sys.Caption}")
print(f"制造商:{sys.Manufacturer}")
print(f"型号:{sys.Model}")
print(f"系统类型:{sys.SystemType}")
print(f"处理器:{sys.ProcessorType}")
输出结果如下:
系统名称:Microsoft Windows 10 企业版
制造商:LENOVO
型号:20KGS0790G
系统类型:x64-based PC
处理器:Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
- 获取CPU信息:
import wmi
c = wmi.WMI()
for cpu in c.Win32_Processor():
print(f"处理器名称:{cpu.Name}")
print(f"处理器硬件ID:{cpu.ProcessorID.strip()}")
print(f"当前时钟速度:{cpu.CurrentClockSpeed} MHz")
print(f"当前电压:{cpu.CurrentVoltage} V")
print(f"处理器架构:{cpu.Architecture}")
print(f"处理器地址位数:{cpu.AddressWidth} bits")
输出结果如下:
处理器名称:Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
处理器硬件ID:BFEBFBFF000806EA
当前时钟速度:1704 MHz
当前电压:1.1 V
处理器架构:9
处理器地址位数:64 bits
- 获取操作系统信息:
import wmi
c = wmi.WMI()
for OSs in c.Win32_OperatingSystem():
print(f"系统名称:{OSs.Caption}")
print(f"系统安装日期:{OSs.InstallDate}")
print(f"操作系统架构:{OSs.OSArchitecture}")
输出结果如下:
系统名称:Microsoft Windows 10 企业版|C:\WINDOWS|\Device\Harddisk0\Partition4
系统安装日期:20190717023225.000000+480
操作系统架构:64 位
- 获取内存信息:
import wmi
c = wmi.WMI()
for mem in c.Win32_PhysicalMemory():
print(f"内存容量:{int(mem.Capacity)/(1024*1024*1024):.2f} GB")
print(f"生产厂商:{mem.Manufacturer}")
print(f"内存型号:{mem.PartNumber}")
print(f"内存速度:{mem.Speed}")
输出结果如下:
内存容量:8.00 GB
生产厂商:EM
内存型号:M471A1K43DB1-CRC
内存速度:2400
监控系统
我们可以定时干预并监控系统,下面我来举一个监听剪贴板内容的例子:
import wmi
import threading
import win32clipboard # 需要另外安装模块
def monitor_clipboard():
c = wmi.WMI()
while True:
win32clipboard.OpenClipboard()
text = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
win32clipboard.CloseClipboard()
if text:
print(f"[{threading.current_thread().name}] {text}")
if __name__ == '__main__':
threads = []
for i in range(5):
t = threading.Thread(target=monitor_clipboard, name=f"Thread-{i}")
t.start()
threads.append(t)
for t in threads:
t.join()
这个程序将创建5个线程,每个线程都在不停地监听剪贴板内容,并在剪贴板发生变化后将内容输出到控制台。
这只是监听剪贴板的一个简单示例,实际上我们可以运用wmi模块来监听很多系统事件,从而实现更多的监控功能。
以上就是“python使用wmi模块获取windows下的系统信息监控系统”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python使用wmi模块获取windows下的系统信息 监控系统 - Python技术站