Python WMI获取Windows系统信息

简介: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 #http://www.cnblogs.com/liu-ke/ 4 import wmi 5 import os 6 import sys 7 import...
 1 #!/usr/bin/env python 
 2 # -*- coding: utf-8 -*- 
 3 #http://www.cnblogs.com/liu-ke/
 4 import wmi 
 5 import os 
 6 import sys 
 7 import platform 
 8 import time 
 9  
10 def sys_version():  
11     c = wmi.WMI () 
12     #获取操作系统版本 
13     for sys in c.Win32_OperatingSystem(): 
14         print "Version:%s" % sys.Caption.encode("UTF8"),"Vernum:%s" % sys.BuildNumber 
15         print  sys.OSArchitecture.encode("UTF8")#系统是32位还是64位的 
16         print sys.NumberOfProcesses #当前系统运行的进程总数
17  
18 def cpu_mem(): 
19     c = wmi.WMI ()        
20     #CPU类型和内存 
21     for processor in c.Win32_Processor(): 
22         #print "Processor ID: %s" % processor.DeviceID 
23         print "Process Name: %s" % processor.Name.strip() 
24     for Memory in c.Win32_PhysicalMemory(): 
25         print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/1048576) 
26  
27 def cpu_use(): 
28     #5s取一次CPU的使用率 
29     c = wmi.WMI() 
30     while True: 
31         for cpu in c.Win32_Processor(): 
32             timestamp = time.strftime('%a, %d %b %Y %H:%M:%S', time.localtime()) 
33             print '%s | Utilization: %s: %d %%' % (timestamp, cpu.DeviceID, cpu.LoadPercentage) 
34             time.sleep(5)    
35               
36 def disk(): 
37     c = wmi.WMI ()    
38     #获取硬盘分区 
39     for physical_disk in c.Win32_DiskDrive (): 
40         for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"): 
41             for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"): 
42                 print physical_disk.Caption.encode("UTF8"), partition.Caption.encode("UTF8"), logical_disk.Caption 
43     
44     #获取硬盘使用百分情况 
45     for disk in c.Win32_LogicalDisk (DriveType=3): 
46         print disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size)) 
47  
48 def network(): 
49     c = wmi.WMI ()    
50     #获取MAC和IP地址 
51     for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1): 
52         print "MAC: %s" % interface.MACAddress 
53     for ip_address in interface.IPAddress: 
54         print "ip_add: %s" % ip_address 
55     print 
56     
57     #获取自启动程序的位置 
58     for s in c.Win32_StartupCommand (): 
59         print "[%s] %s <%s>" % (s.Location.encode("UTF8"), s.Caption.encode("UTF8"), s.Command.encode("UTF8"))  
60     
61     
62     #获取当前运行的进程 
63     for process in c.Win32_Process (): 
64         print process.ProcessId, process.Name 
65  
66 def main(): 
67     sys_version() 
68     cpu_mem() 
69     #disk() 
70     #network() 
71     #cpu_use() 
72  
73 if __name__ == '__main__': 
74     main() 
75     print platform.system() 
76     print platform.release() 
77     print platform.version() 
78     print platform.platform() 
79     print platform.machine()

 


img_42a4adae4716d0e15c3eeaabfd040044.png

注:转载需注明出处及作者。

流柯      

目录
相关文章
|
1月前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
64 2
|
29天前
|
SQL 存储 数据库
数据聚合大揭秘!Python如何一键整合海量信息,洞察数据背后的秘密?
【7月更文挑战第21天】在数据驱动时代,Python以强大库支持,如Pandas与SQLAlchemy,轻松聚合分析海量信息。Pandas简化数据整合,从CSV文件加载数据,利用`pd.concat()`合并,`groupby()`进行聚合分析,揭示销售趋势。SQLAlchemy则无缝链接数据库,执行SQL查询,汇总复杂数据。Python一键操作,开启数据洞察之旅,无论源数据格式,均能深入挖掘价值。
27 0
|
10天前
|
存储 BI Python
【python】python酒店客房管理信息系统(源码+论文)【独一无二】
【python】python酒店客房管理信息系统(源码+论文)【独一无二】
【python】python酒店客房管理信息系统(源码+论文)【独一无二】
|
21天前
|
网络安全 数据安全/隐私保护 网络虚拟化
|
8天前
|
数据采集 机器学习/深度学习 算法
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
|
10天前
|
存储 数据可视化 Python
【python】python tkinter 计算器GUI版本(模仿windows计算器 源码)【独一无二】
【python】python tkinter 计算器GUI版本(模仿windows计算器 源码)【独一无二】
|
12天前
|
数据采集 存储 数据可视化
基于Python 网络爬虫和可视化的房源信息的设计与实现
本文介绍了一个基于Python Scrapy框架和echart库的房源信息采集与可视化系统,该系统通过自动化爬虫提高房地产数据采集效率,并通过Flask服务器实现数据的Web可视化展示,旨在帮助房地产从业人员和政策制定者高效、直观地了解房源信息。
|
18天前
|
Python
惊!Python进程间通信IPC,让你的程序秒变社交达人,信息畅通无阻
【8月更文挑战第1天】在编程世界中,进程间通信(IPC)犹如一场社交舞会,各进程通过IPC机制优雅地交换信息,共同完成复杂任务。IPC就像隐形桥梁,连接并行运行的进程,使它们能跨越边界自由沟通。Python提供了多种IPC机制,如管道、队列、共享内存和套接字等,适应不同需求。例如,使用`multiprocessing.Queue`实现进程间通信,生产者向队列添加数据,消费者取出并处理数据,两者虽独立却能有效协作。IPC打破了进程界限,使得程序能像社交达人般自由交流,构建出高效、灵活的应用。掌握IPC,让程序信息畅通无阻。
16 1
|
12天前
|
数据采集 Python
[python]爬取手机号码前缀和地区信息
[python]爬取手机号码前缀和地区信息
|
15天前
|
Linux 开发者 Python
从Windows到Linux,Python系统调用如何让代码飞翔🚀
【8月更文挑战第4天】在编程领域,跨越操作系统障碍是常见挑战。Python以“编写一次,到处运行”的理念简化了这一过程。通过其标准库如os、subprocess等,Python提供了跨平台的系统操作工具,确保开发者无需针对不同系统编写特定代码。例如,`open`函数在Windows和Linux上具有一致性;而`subprocess`模块则简化了跨平台执行系统命令的过程。此外,第三方库如psutil进一步增强了Python的跨平台能力。总之,Python强大的系统调用能力让开发者能轻松地编写高效且可移植的代码。
20 0

热门文章

最新文章