首页 > 编程 > Python > 正文

python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法

2019-11-25 17:28:10
字体:
来源:转载
供稿:网友

本文实例讲述了python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python # -*- coding: utf-8 -*- import wmi import sys,time,platform def get_system_info(os):   """   获取操作系统版本。   """   print   print "Operating system:"   if os == "Windows":     c = wmi.WMI ()     for sys in c.Win32_OperatingSystem():       print '/t' + "Version :/t%s" % sys.Caption.encode("GBK")       print '/t' + "Vernum :/t%s" % sys.BuildNumber def get_memory_info(os):   """   获取物理内存和虚拟内存。   """   print   print "memory_info:"   if os == "Windows":     c = wmi.WMI ()     cs = c.Win32_ComputerSystem()     pfu = c.Win32_PageFileUsage()     MemTotal = int(cs[0].TotalPhysicalMemory)/1024/1024     print '/t' + "TotalPhysicalMemory :" + '/t' + str(MemTotal) + "M"     #tmpdict["MemFree"] = int(os[0].FreePhysicalMemory)/1024     SwapTotal = int(pfu[0].AllocatedBaseSize)     print '/t' + "SwapTotal :" + '/t' + str(SwapTotal) + "M"     #tmpdict["SwapFree"] = int(pfu[0].AllocatedBaseSize - pfu[0].CurrentUsage) def get_disk_info(os):   """   获取物理磁盘信息。   """   print   print "disk_info:"   if os == "Windows":     tmplist = []     c = wmi.WMI ()     for physical_disk in c.Win32_DiskDrive():       if physical_disk.Size:         print '/t' + str(physical_disk.Caption) + ' :/t' + str(long(physical_disk.Size)/1024/1024/1024) + "G" def get_cpu_info(os):   """   获取CPU信息。   """   print   print "cpu_info:"   if os == "Windows":     tmpdict = {}     tmpdict["CpuCores"] = 0     c = wmi.WMI ()     for cpu in c.Win32_Processor():             tmpdict["CpuType"] = cpu.Name     try:       tmpdict["CpuCores"] = cpu.NumberOfCores     except:       tmpdict["CpuCores"] += 1       tmpdict["CpuClock"] = cpu.MaxClockSpeed       print '/t' + 'CpuType :/t' + str(tmpdict["CpuType"])     print '/t' + 'CpuCores :/t' + str(tmpdict["CpuCores"]) def get_network_info(os):   """   获取网卡信息和当前TCP连接数。   """   print   print "network_info:"   if os == "Windows":     tmplist = []     c = wmi.WMI ()     for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1):         tmpdict = {}         tmpdict["Description"] = interface.Description         tmpdict["IPAddress"] = interface.IPAddress[0]         tmpdict["IPSubnet"] = interface.IPSubnet[0]         tmpdict["MAC"] = interface.MACAddress         tmplist.append(tmpdict)     for i in tmplist:       print '/t' + i["Description"]       print '/t' + '/t' + "MAC :" + '/t' + i["MAC"]       print '/t' + '/t' + "IPAddress :" + '/t' + i["IPAddress"]       print '/t' + '/t' + "IPSubnet :" + '/t' + i["IPSubnet"]     for interfacePerfTCP in c.Win32_PerfRawData_Tcpip_TCPv4():         print '/t' + 'TCP Connect :/t' + str(interfacePerfTCP.ConnectionsEstablished) if __name__ == "__main__":   os = platform.system()   get_system_info(os)   get_memory_info(os)   get_disk_info(os)   get_cpu_info(os)   get_network_info(os) 

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表