python使用wmi模块获取windows下的系统信息 监控系统

下面是“python使用wmi模块获取windows下的系统信息监控系统”的完整攻略。

什么是wmi模块

Windows管理工具界面(WMI)是一种用于 Windows 操作系统的管理组件。它提供了一个面向对象的框架,允许管理远程和本地的 Windows 系统。

在Python中我们可以使用wmi模块进行管理和相关信息查询。

安装wmi模块

首先我们需要安装wmi模块,使用pip安装即可:

pip install wmi

获取系统信息

  1. 获取系统基本信息:
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
  1. 获取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
  1. 获取操作系统信息:
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 位
  1. 获取内存信息:
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技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 如何通过 Python 脚本为 Youtube API 设置参数

    【问题标题】:How do I set arguments via the Python script for Youtube API如何通过 Python 脚本为 Youtube API 设置参数 【发布时间】:2023-04-05 00:41:02 【问题描述】: 当我使用 youtube 数据 api 从 python 上传视频时,我使用示例中的以下代…

    Python开发 2023年4月6日
    00
  • 提取NumPy复数数组的实部和虚部

    要提取NumPy复数数组的实部和虚部,可以使用real和imag属性。下面是详细的攻略: 1. 创建NumPy复数数组 首先,我们需要创建一个包含复数数值的NumPy数组。可以使用numpy.array函数,也可以使用随机数生成函数等方式创建。 import numpy as np # 创建复数数组 arr = np.array([1+2j, 3+4j, 5…

    python-answer 2023年3月25日
    00
  • python实现网页链接提取的方法分享

    当我们需要从网页中提取出链接时,可以使用Python编程语言来实现。本攻略将分享一种Python实现网页链接提取的方法,帮助读者在网页爬取和数据分析方面更高效地实现目标。 步骤 以下是Python实现网页链接提取的主要步骤: 1.安装必要的Python库,包括requests、beautifulsoup4等 2.使用requests.get()函数请求目标网…

    python 2023年5月14日
    00
  • Python爬虫实现百度图片自动下载

    为了实现Python爬虫自动下载百度图片,我们需要进行以下步骤: 1. 确定需要爬取的图片链接 我们在百度图片中搜索我们需要的图片,进入图片详情页后,可在浏览器开发者工具中找到图片链接的url。注意仅选择原图链接。 2. 分析页面结构 我们在浏览器开发者工具中可以看到页面的具体结构,可以利用requests模块进行网页爬取,并解析出图片链接。 示例一:爬取百…

    python 2023年5月14日
    00
  • python实现会员信息管理系统(List)

    以下是“Python实现会员信息管理系统(List)”的完整攻略。 1. 会员信息管理系统简介 会员信息管理系统是一种常见的信息管理,用于管理员的基本信息,如姓名、性别、年龄、联系方式等。在Python中,我们可以使用list来存储会员信息,并使用各种和方法来实现会员信息的添加、删除修改和查询等操作。 2. Python实现会员信息管理系统 示例1:添加会信…

    python 2023年5月13日
    00
  • python如何去除字符串中不想要的字符

    下面是Python如何去除字符串中不想要的字符的完整攻略: 步骤1:确定要去除的字符类型 字符串中的字符类型很多,比如空格、制表符、换行符、标点符号等等。在使用Python去除字符串中不想要的字符之前,需要先确定需要去除哪一种或哪几种字符类型。 步骤2:使用字符串方法去除字符 Python的字符串类型有很多有用的方法,可以用来去除字符串中不想要的字符。在这里…

    python 2023年6月5日
    00
  • 跟老齐学Python之传说中的函数编写条规

    欢迎来到跟老齐学Python!下面是传说中的“函数编写条规”完整攻略。 1. 函数的命名 函数名要有意义,能够准确说明函数的作用。 函数名应该采用小写字母和下划线的组合形式,尽量使用动词。 例如: def calculate_area(radius): """ 计算圆的面积 """ area = 3…

    python 2023年5月18日
    00
  • Python 平铺数据并映射

    Python 平铺数据并映射,通常也被称为数据透视表,可以帮助我们更好地理解和分析数据。以下是详细讲解Python 平铺数据并映射的完整攻略。 什么是数据透视表 数据透视表是一种在 Excel 和其他电子表格程序中广泛使用的数据分析工具。 它允许用户将一个大的数据集压缩成可读的摘要表格,从而更容易发现数据背后的趋势和模式。在Python中,可以使用panda…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部