程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> python使用WMI檢測windows系統信息、硬盤信息、網卡信息的方法

python使用WMI檢測windows系統信息、硬盤信息、網卡信息的方法

編輯:更多關於編程

       本文實例講述了python使用WMI檢測windows系統信息、硬盤信息、網卡信息的方法。分享給大家供大家參考。具體實現方法如下:

      ?

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      45

      46

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      57

      58

      59

      60

      61

      62

      63

      64

      65

      66

      67

      68

      69

      70

      71

      72

      73

      74

      75

      76

      77

      78

      79

      80

      81

      82

      83

      84

      85

      86

      87

      88

      89

      90

      91

      92#!/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程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved