本文实例讲述了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程序设计有所帮助。

python软件电脑配置要求-Python实现的读取电脑硬件信息功能示例相关推荐

  1. 学python电脑硬件_Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  2. python软件下载对电脑配置要求-Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  3. python获取电脑硬件信息_Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

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

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  5. 做毕设电脑配置不够用?除了换电脑还有其他办法吗?

    马上又临近毕业季了,大多数的学生们已经步入了毕业设计的步伐了,那么对于普通专业的学生来说只需要普通电脑即可完成毕业设计,但是对于设计专业的学生们可就emo了,电脑配置低,内存小等等问题导致毕业设计进程 ...

  6. 云计算机与应用电脑配置,电脑配置低,但是用云电脑能玩大型游戏,价格你能接受?...

    原标题:电脑配置低,但是用云电脑能玩大型游戏,价格你能接受? 家里电脑配置低,不想换新电脑,不是买不起就是舍不得,电脑还能用就不想换,这也算人之常情.那么如果有一种东西能让低配置电脑也能玩大型游戏,或 ...

  7. 云计算机机房怎么样,如何知道云电脑配置多少?怎么选择云电脑机房?

    一般在玩一款游戏时,需要考虑玩游戏的配置,云电脑帮助我们实现配置的需求,那如何才能知道云电脑配置是多少,该怎么选择云电脑机房. 在使用云电脑时,我们不用考虑自己的手机.平板和电脑的硬件,只要设备能正常 ...

  8. python获取设备硬件信息_Python实现读取机器硬件信息的方法示例

    本文实例讲述了Python实现读取机器硬件信息的方法.分享给大家供大家参考,具体如下: 本人最近新学python ,用到关于机器的相关信息,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法 ...

  9. python流量实时统计_Python实现获取nginx服务器ip及流量统计信息功能示例

    本文实例讲述了Python实现获取nginx服务器ip及流量统计信息功能.分享给大家供大家参考,具体如下: #!/usr/bin/python #coding=utf8 log_file = &quo ...

最新文章

  1. 除了网络搜索(NAS),AutoML对深度学习模型优化还有哪些贡献?
  2. [inside]MySQL 5.7 并行复制实现原理与调优
  3. 笑话(15) 这是地球
  4. 2.3微秒的特征点匹配
  5. P3293 [SCOI2016]美味
  6. P3201-[HNOI2009]梦幻布丁【启发式合并,链表】
  7. iOS开发——处理1000张图片的内存优化
  8. python中浮点数能用乘法吗_简单讲解Python中的数字类型及基本的数学计算
  9. 【转】Android虚拟平台的编译和整合
  10. 苹果iOS申请个人开发者账号注册教程
  11. win7系统关闭445端口批处理脚本
  12. word、excel、PPT快捷键一览
  13. 微信小程序 展示地图指定位置导航
  14. 【Mysql】慢SQL优化详解 Mysql案例
  15. 什么是端口映射?本文详尽解析!
  16. 正运动控制器编程出现错误后,修改后,错误还在。
  17. 小学教师听课体会 计算机,小学教师听课心得体会
  18. 【每日新闻】IDC:国产手机品牌在印度拿下66%的市场份额
  19. JS逆向——AES加密案例(openlaw登录)
  20. Android代码混淆工具Proguard学习

热门文章

  1. 安装 macbook 双系统( OS X 和 Ubuntu )
  2. 云计算企业级小架构部署应用综合练习-docker变种(一)
  3. 如何建立一套简单又高效的研发管理体系
  4. 4.12 使用反相命令反转图片色彩 [原创Ps教程]
  5. 使用Blend的一些问题
  6. visio如何关闭预览时的缩略图
  7. GreenPlum 大数据平台--segment 失效问题恢复
  8. 2023牛客寒假算法基础集训营3(8/11)
  9. RT-1052学习笔记 - GPIO架构分析
  10. 截止到20190828的前沿汇总