python运行时关闭硬件信息-Python实现的读取电脑硬件信息功能示例

本文实例讲述了Python实现的读取电脑硬件信息功能。分享给大家供大家参考,具体如下:

上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久。。。。。。

今天,用python试了一下,简单多了。分享一下:

首先安装wmi库,wmi是一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源。大多用户习惯于使用众多的图形化管理工 具来管理Windows资源,在wmi之前这些工具都是通过 Win32应用程序编程接口来访问和管理Windows资源的。大多数脚本 语言都不能直接调用Win32 API,wmiI的出现使得系统管理员可以通过一种简便的方法即利用常见的脚本语言实现常用的系统管理任务。好了,上代码吧

import wmi

import time

import json

import win32com

class PCHardwork(object):

global s

s = wmi.WMI()

def get_CPU_info(self):

cpu = []

cp = s.Win32_Processor()

for u in cp:

cpu.append(

{

"Name": u.Name,

"Serial Number": u.ProcessorId,

"CoreNum": u.NumberOfCores,

"numOfLogicalProcessors": u.NumberOfLogicalProcessors,

"timestamp": time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime()),

"cpuPercent": u.loadPercentage

}

)

print ":::CPU info:", json.dumps(cpu, True, indent=4)

return cpu

def get_disk_info(self):

disk = []

for pd in s.Win32_DiskDrive():

disk.append(

{

"Serial": s.Win32_PhysicalMedia()[0].SerialNumber.lstrip().rstrip(), # 获取硬盘序列号,调用另外一个win32 API

"ID": 123456,

"Caption": pd.Caption,

"size": str(int(float(pd.Size)/1024/1024/1024))+"G"

}

)

print":::Disk info:", json.dumps(disk, True, indent=4)

return disk

def get_network_info(self):

network = []

for nw in s.Win32_NetworkAdapterConfiguration (IPEnabled=1):

network.append(

{

"MAC": nw.MACAddress,

"ip": nw.IPAddress

}

)

print":::Network info:", json.dumps(network, True, indent=4)

return network

def get_running_process(self):

process = []

for p in s.Win32_Process():

process.append(

{

p.Name: p.ProcessId

}

)

print":::Running process:", json.dumps(process, True, indent=4)

return process

#运行测试:

PCinfo = PCHardwork()

PCinfo.get_CPU_info()

PCinfo.get_disk_info()

PCinfo.get_network_info()

PCinfo.get_running_process()

运行结果:

:::CPU info: [

{

"numOfLogicalProcessors": 2,

"cpuPercent": 27,

"Name": "Pentium(R) Dual-Core CPU E5300 @ 2.60GHz",

"CoreNum": 2,

"timestamp": "Tue, 29 May 2018 15:19:52",

"Serial Number": "BFEBFBFF0001067A"

}

]

:::Disk info: [

{

"Caption": "WDC WD5000AAKX-22ERMA0 ATA Device",

"Serial": "WD-WCC2EV784095",

"ID": 123456,

"size": "465G"

}

]

:::Network info: [

{

"ip": [

"192.168.3.37",

"fe80::d1a:8c98:b6d9:5f28"

],

"MAC": "E0:CB:4E:07:75:85"

}

]

:::Running process: [

{

"System Idle Process": 0

},

{

"System": 4

},

{

"smss.exe": 296

},

{

"csrss.exe": 428

},

{

"wininit.exe": 484

},

{

"csrss.exe": 504

},

{

"services.exe": 548

},

{

"winlogon.exe": 580

},

{

"lsass.exe": 588

},

{

"lsm.exe": 596

},

{

"svchost.exe": 732

},

{

"svchost.exe": 812

},

{

"svchost.exe": 872

},

{

"svchost.exe": 936

},

{

"svchost.exe": 996

},

{

"audiodg.exe": 1076

},

{

"svchost.exe": 1124

},

{

"ZhuDongFangYu.exe": 1272

},

{

"svchost.exe": 1300

},

{

"spoolsv.exe": 1556

},

{

"svchost.exe": 1584

},

{

"360bpsvc.exe": 1656

},

{

"AlibabaProtect.exe": 1680

},

{

"QQProtect.exe": 1800

},

{

"secbizsrv.exe": 1860

},

{

"TBSecSvc.exe": 1904

},

{

"httpd.exe": 2004

},

{

"mysqld.exe": 2040

},

{

"wwbizsrv.exe": 456

},

{

"taskhost.exe": 1376

},

{

"dwm.exe": 2140

},

{

"explorer.exe": 2156

},

{

"TaobaoProtect.exe": 2368

},

{

"360tray.exe": 2476

},

{

"tomcat6w.exe": 2500

},

{

"httpd.exe": 2676

},

{

"360sd.exe": 2712

},

{

"aliwssv.exe": 3084

},

{

"conhost.exe": 3096

},

{

"360bdoctor.exe": 3280

},

{

"baidupinyin.exe": 3376

},

{

"svchost.exe": 3420

},

{

"360rp.exe": 4008

},

{

"QQ.exe": 4136

},

{

"TXPlatform.exe": 4480

},

{

"360se.exe": 4624

},

{

"360se.exe": 4792

},

{

"wdswfsafe.exe": 4924

},

{

"360se.exe": 5916

},

{

"360se.exe": 4456

},

{

"360se.exe": 4604

},

{

"SoftMgrLite.exe": 2304

},

{

"360se.exe": 5612

},

{

"360se.exe": 2756

},

{

"hh.exe": 6752

},

{

"KMPlayer.exe": 7616

},

{

"chrome.exe": 6848

},

{

"chrome.exe": 7956

},

{

"chrome.exe": 7044

},

{

"chrome.exe": 6432

},

{

"chrome.exe": 4396

},

{

"chrome.exe": 5240

},

{

"360se.exe": 968

},

{

"TTPlayer.exe": 8636

},

{

"360se.exe": 7080

},

{

"chrome.exe": 8784

},

{

"360se.exe": 7148

},

{

"360se.exe": 8760

},

{

"360se.exe": 2604

},

{

"360se.exe": 4784

},

{

"360se.exe": 8804

},

{

"360se.exe": 7096

},

{

"360se.exe": 8900

},

{

"TrustedInstaller.exe": 5676

},

{

"360se.exe": 5232

},

{

"flashfxp.exe": 9356

},

{

"flashfxp.exe": 4416

},

{

"360se.exe": 9868

},

{

"360se.exe": 8816

},

{

"360se.exe": 6816

},

{

"eclipsePHP.exe": 11000

},

{

"javaw.exe": 9324

},

{

"360se.exe": 11112

},

{

"editplus.exe": 6748

},

{

"cmd.exe": 11740

},

{

"conhost.exe": 10532

},

{

"eclipse.exe": 10556

},

{

"python2.exe": 11772

},

{

"conhost.exe": 3676

},

{

"360se.exe": 9604

},

{

"360se.exe": 10656

},

{

"svchost.exe": 10888

},

{

"WmiPrvSE.exe": 11968

},

{

"WmiPrvSE.exe": 10988

},

{

"python2.exe": 10956

},

{

"conhost.exe": 10328

}

]

补充:这里使用Python2.7平台测试,可能会出现如下错误:

1. no module named wmi 错误

可使用pip命令解决:

pip install wmi

即可。

2. no module named win32com.client 错误

使用如下命令安装:

pip install pywin32-223-cp27-none-win32.whl

即可。

希望本文所述对大家Python程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值