python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
本文实例讲述了python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法。分享给大家供大家参考。具体实现方法如下:
#!/usr/bin/envpython #-*-coding:utf-8-*- importwmi importsys,time,platform defget_system_info(os): """ 获取操作系统版本。 """ print print"Operatingsystem:" ifos=="Windows": c=wmi.WMI() forsysinc.Win32_OperatingSystem(): print'\t'+"Version:\t%s"%sys.Caption.encode("GBK") print'\t'+"Vernum:\t%s"%sys.BuildNumber defget_memory_info(os): """ 获取物理内存和虚拟内存。 """ print print"memory_info:" ifos=="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) defget_disk_info(os): """ 获取物理磁盘信息。 """ print print"disk_info:" ifos=="Windows": tmplist=[] c=wmi.WMI() forphysical_diskinc.Win32_DiskDrive(): ifphysical_disk.Size: print'\t'+str(physical_disk.Caption)+':\t'+str(long(physical_disk.Size)/1024/1024/1024)+"G" defget_cpu_info(os): """ 获取CPU信息。 """ print print"cpu_info:" ifos=="Windows": tmpdict={} tmpdict["CpuCores"]=0 c=wmi.WMI() forcpuinc.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"]) defget_network_info(os): """ 获取网卡信息和当前TCP连接数。 """ print print"network_info:" ifos=="Windows": tmplist=[] c=wmi.WMI() forinterfaceinc.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) foriintmplist: 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"] forinterfacePerfTCPinc.Win32_PerfRawData_Tcpip_TCPv4(): print'\t'+'TCPConnect:\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程序设计有所帮助。