脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python使用wmi模块获取windows下的系统信息 监控系统

python使用wmi模块获取windows下的系统信息 监控系统

2020-08-01 12:05liu-ke Python

Python用WMI模块获取Windows系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息。

Python用WMI模块获取Windows系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息。

本文实例讲述了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
#!/usr/bin/env python
# -*- coding: utf- -*-
#http://www.cnblogs.com/liu-ke/
import wmi
import os
import sys
import platform
import time
def sys_version():
  c = wmi.WMI ()
  #获取操作系统版本
  for sys in c.Win_OperatingSystem():
    print "Version:%s" % sys.Caption.encode("UTF"),"Vernum:%s" % sys.BuildNumber
    print sys.OSArchitecture.encode("UTF")#系统是位还是位的
    print sys.NumberOfProcesses #当前系统运行的进程总数
def cpu_mem():
  c = wmi.WMI ()   
  #CPU类型和内存
  for processor in c.Win_Processor():
    #print "Processor ID: %s" % processor.DeviceID
    print "Process Name: %s" % processor.Name.strip()
  for Memory in c.Win_PhysicalMemory():
    print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/)
def disk():
  c = wmi.WMI () 
  #获取硬盘分区
  for physical_disk in c.Win_DiskDrive ():
    for partition in physical_disk.associators ("Win_DiskDriveToDiskPartition"):
      for logical_disk in partition.associators ("Win_LogicalDiskToPartition"):
        print physical_disk.Caption.encode("UTF"), partition.Caption.encode("UTF"), logical_disk.Caption
  #获取硬盘使用百分情况
  for disk in c.Win_LogicalDisk (DriveType=):
    print disk.Caption, "%.f%% free" % (. * long (disk.FreeSpace) / long (disk.Size))
def network():
  c = wmi.WMI () 
  #获取MAC和IP地址
  for interface in c.Win_NetworkAdapterConfiguration (IPEnabled=):
    print "MAC: %s" % interface.MACAddress
  for ip_address in interface.IPAddress:
    print "ip_add: %s" % ip_address
  print
def main():
  sys_version()
  cpu_mem()
  #disk()
  #network()
if __name__ == '__main__':
  main()
  print platform.system()
  print platform.release()
  print platform.version()
  print platform.platform()
  print platform.machine()

以上内容是关于python使用wmi模块获取windows下的系统信息 监控系统的相关知识,希望对大家有所帮助。

延伸 · 阅读

精彩推荐