今天看啥
热点:

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程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/ASPjc/1000219.htmlTechArticlepython使用WMI检测windows系统信息、硬盘信息、网卡信息的方法 本文实例讲述了python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法。...

相关文章

相关搜索: python WMI

帮客评论

视觉看点