本文实例讲述了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. python 调用 C# dll 库读取电脑硬件信息

    一.核心需求 python程序读取电脑硬件信息,包括主板.CPU.内存.GPU.风扇.硬盘 二.实现思路 使用pythonnet调用Open Hardware MonitorLib.dll,通过该dl ...

  6. python 运行部分代码_改改Python代码,运行速度还能提升6万倍

    如果摩尔定律注定终结,人类的算力会被「锁死」吗?MIT.英伟达.微软研究者合著的一篇 Science 论文告诉我们:不会. 这份最新研究指出,在后摩尔定律时代,人类所获得的的算力提升将更大程度上来源于 ...

  7. 计算机主机信息怎么看,本机电脑硬件配置信息怎么看?Win7/Win10查看详细电脑配置方法...

    电脑配置决定了一台电脑的性能好坏,如果电脑配置没有达到游戏或者软件的要求,那么肯定无法流畅运行的.对于一些小白用户不知道如何查看电脑硬件配置,那么本机电脑硬件配置信息怎么看?下面装机之家小编分享一下W ...

  8. python运行时不让电脑休眠_如何在不休眠整个程序的情况下以一种功能休眠 - python...

    因此,我尝试制作一个游戏,在这个游戏中,我调用了一个我想慢慢执行的函数,但是当我使用" time.sleep(x)"时,它将暂停文件中的所有内容,而不仅仅是暂停功能.我正在尝试为2 ...

  9. python怎么设置函数超时时间_在python运行时为函数设置超时秒数

    我遵循this解.在 我试图为我的函数during runtime设置超时秒数,这使我能够灵活地传递不同的timeout seconds,甚至不打开脚本(测试.py)在 在超时.py在from fun ...

最新文章

  1. 《About Multi-Touch(多点触摸是个什么东西?)》:基于光学原理的多点触摸技术全解析...
  2. Road Construction
  3. 掌握这些 NumPy Pandas 方法,快速提升数据处理效率!
  4. oc知识点 类的扩展
  5. linux下des加密命令,linux下的DES加密
  6. gitmaven命令
  7. 抖音不服诉腾讯管辖权被转至深圳中院 上诉获受理
  8. 数据存储之偏好设置NSUserDefaults
  9. windows无法访问 计算机打印机,windows无法打开添加打印机解决方法
  10. 小白如何进阶学习编程?
  11. 20-HTML与HTML5常用标签(前端)
  12. BNUZ-ACM 2018国庆新生欢乐赛部分题解+思路(已解出答案部分)
  13. 驼峰命名法(camelCase)
  14. SCIENCE CHINA LATEX模板缺少的一个重要文件psfig.sty,File `picins.sty’ not found.
  15. HDU 2188-悼念512汶川大地震遇难同胞——选拔志愿者
  16. MULTISIM 仿真 数据选择器构成无触点切换电路
  17. 【单片机原理及应用日志】用取模软件提取汉字字模,在LCD屏上显示界面
  18. 电子小制作-家用湿度控制开关,钢琴除湿用
  19. WPF的控件Binding笔记
  20. 在linux中怎么查看jvm堆内存大小,如何查看JVM运行的堆内存情况

热门文章

  1. 途虎养车产品经理面试(魔幻)
  2. 谈谈如何建立价值驱动的数据战略
  3. python输出间隔符号_间隔符号?
  4. AT89S52单片机学习第一天
  5. 使用 __breakpoint 实现软件中断
  6. 如何修复无法打开的Excel文件,三大原因三大方法为你解决
  7. linux系统中pinctrl 和gpio子系统使用方法(教你点灯)
  8. 记录笔记时得到的人生的两个道理
  9. 区块链、NFT 与元宇宙中的稀缺性技术
  10. 从魔兽世界论专业队友的重要性