Python用WMI模块获取windowns系统信息

Posted 钟桂耀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python用WMI模块获取windowns系统信息相关的知识,希望对你有一定的参考价值。

安装vmi

https://pypi.org/project/WMI/#history

 

脚本如下:

#!/usr/bin/env python
#coding:utf-8



import wmi
import os
import sys
import platform
import time

def sys_version():
    c = wmi.WMI ()
    #获取操作系统版本
    for sys in c.Win32_OperatingSystem():
        print "Version:%s" % sys.Caption.encode("UTF8"),"Vernum:%s" % sys.BuildNumber
        print  sys.OSArchitecture.encode("UTF8")#系统是32位还是64位的
        print sys.NumberOfProcesses #当前系统运行的进程总数

def cpu_mem():
    c = wmi.WMI ()
    #CPU类型和内存
    for processor in c.Win32_Processor():
        #print "Processor ID: %s" % processor.DeviceID
        print "Process Name: %s" % processor.Name.strip()
    for Memory in c.Win32_PhysicalMemory():
        print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/1048576)

def cpu_use():
    #5s取一次CPU的使用率
    c = wmi.WMI()
    while True:
        for cpu in c.Win32_Processor():
             timestamp = time.strftime(%a, %d %b %Y %H:%M:%S, time.localtime())
             print %s | Utilization: %s: %d %% % (timestamp, cpu.DeviceID, cpu.LoadPercentage)
             time.sleep(5)

def disk():
    c = wmi.WMI ()
    #获取硬盘分区
    for physical_disk in c.Win32_DiskDrive ():
        for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"):
            for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"):
                print physical_disk.Caption.encode("UTF8"), partition.Caption.encode("UTF8"), logical_disk.Caption

    #获取硬盘使用百分情况
    for disk in c.Win32_LogicalDisk (DriveType=3):
        print disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size))

def network():
    c = wmi.WMI ()
    #获取MAC和IP地址
    for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1):
        print "MAC: %s" % interface.MACAddress
    for ip_address in interface.IPAddress:
        print "ip_add: %s" % ip_address
    print

    #获取自启动程序的位置
    for s in c.Win32_StartupCommand ():
        print "[%s] %s <%s>" % (s.Location.encode("UTF8"), s.Caption.encode("UTF8"), s.Command.encode("UTF8"))


    #获取当前运行的进程
    for process in c.Win32_Process ():
        print process.ProcessId, process.Name

def main():
    sys_version()
    #cpu_mem()
    #disk()
    #network()
    #cpu_use()

if __name__ == __main__:
    main()
    print platform.system()
    print platform.release()
    print platform.version()
    print platform.platform()
    print platform.machine()

 

执行结果:

Version:Microsoft Windows 10 家庭中文版 Vernum:15063
64155
Windows
10
10.0.15063
Windows-10-10.0.15063
AMD64

 

 

参考:http://blog.51cto.com/wangwei007/1158075

 

以上是关于Python用WMI模块获取windowns系统信息的主要内容,如果未能解决你的问题,请参考以下文章

python 模块 wmi 远程连接 windows 获取配置信息

Python监控服务端口并报警

Windowns系统下搭建python环境

python写的用WMI检测windows系统信息的脚本

Python查询磁盘信息,磁盘剩余可用空间

利用python的wmi模块,写一段读取电脑配置信息的程序,显示wmi模块错误,可电脑里有这个模块有解决办法吗