欢迎来到山村网

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

2019-03-02 12:47:51浏览:899 来源:山村网   
核心摘要:  本文实例讲述了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程序设计有所帮助。

(责任编辑:豆豆)
下一篇:

介绍Python中的floor()方法

上一篇:

python获取当前时间对应unix时间戳的方法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com