使用Python怎么读取电脑硬件信息
本篇文章为大家展示了使用Python怎么读取电脑硬件信息,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
首先安装wmi库,wmi是一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源。大多用户习惯于使用众多的图形化管理工 具来管理Windows资源,在wmi之前这些工具都是通过 Win32应用程序编程接口来访问和管理Windows资源的。大多数脚本 语言都不能直接调用Win32 API,wmiI的出现使得系统管理员可以通过一种简便的方法即利用常见的脚本语言实现常用的系统管理任务。好了,上代码吧
importwmi importtime importjson importwin32com classPCHardwork(object): globals s=wmi.WMI() defget_CPU_info(self): cpu=[] cp=s.Win32_Processor() foruincp: cpu.append( { "Name":u.Name, "SerialNumber":u.ProcessorId, "CoreNum":u.NumberOfCores, "numOfLogicalProcessors":u.NumberOfLogicalProcessors, "timestamp":time.strftime('%a,%d%b%Y%H:%M:%S',time.localtime()), "cpuPercent":u.loadPercentage } ) print":::CPUinfo:",json.dumps(cpu,True,indent=4) returncpu defget_disk_info(self): disk=[] forpdins.Win32_DiskDrive(): disk.append( { "Serial":s.Win32_PhysicalMedia()[0].SerialNumber.lstrip().rstrip(),#获取硬盘序列号,调用另外一个win32API "ID":123456, "Caption":pd.Caption, "size":str(int(float(pd.Size)/1024/1024/1024))+"G" } ) print":::Diskinfo:",json.dumps(disk,True,indent=4) returndisk defget_network_info(self): network=[] fornwins.Win32_NetworkAdapterConfiguration(IPEnabled=1): network.append( { "MAC":nw.MACAddress, "ip":nw.IPAddress } ) print":::Networkinfo:",json.dumps(network,True,indent=4) returnnetwork defget_running_process(self): process=[] forpins.Win32_Process(): process.append( { p.Name:p.ProcessId } ) print":::Runningprocess:",json.dumps(process,True,indent=4) returnprocess #运行测试: 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 }]
简单吧,附上wmi api说明: https://msdn.microsoft.com/en-us/library/bg126473%28v=vs.85%29.aspx
补充:这里使用Python2.7平台测试,可能会出现如下错误:
1. no module named wmi 错误
可使用pip命令解决:
pipinstallwmi
即可。
2. no module named win32com.client 错误
本站下载pywin32-223-cp27-none-win32.whl 。
使用如下命令安装:
pipinstallpywin32-223-cp27-none-win32.whl
上述内容就是使用Python怎么读取电脑硬件信息,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...