python使用WMI檢測windows系統資訊、硬碟資訊、網卡資訊的方法

來源:互聯網
上載者:User
本文執行個體講述了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程式設計有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.