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

news/2025/2/5 13:49:03/

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


http://www.ppmy.cn/news/216443.html

相关文章

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

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

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

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

python查看mac的usb信息_Python实现的读取电脑硬件信息功能示例

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

american主板网卡灯关机后还亮_玩游戏电脑自己关机。主机灯一闪一闪的。显示器黑屏。键盘鼠标不亮。切短电源才不亮、求大神帮忙看看、、...

电脑概览 电脑型号 MSI MS-7721 操作系统 Microsoft Windows 8.1 专业版 (64位) CPU AMD Athlon(tm) X4 740 Quad Core Processor(3200 Mhz) 主板 MSI FM2-A85XMA-P33 (MS-7721) 内存 4.00 GB ( 1600 MHz) 主硬盘 500 GB (西数 WDC WD5000AAKX-22ERMA0 已使用时间: 124…

NAS Ubuntu all in one软硬件方案

硬件选型 Intel Celeron N5105 2.00GHz 倍控主板 系统选型 Ubuntu 22.04.2 LTS (直装,非PVE、ESXI等虚拟化平台方案) 存储系统 2 * ST500DM002-1BD141 * WDC WD5000AAKX-7 三块500GB组RAID5 挂载到nextcloud 1 * WDC WD20EZBX-00A 2TB 挂载到/home 1* ST332…

(转)突发传输强劲,WD SATAIII绿盘

http://www.beareyes.com.cn/2/lib/201101/04/20110104003_0.htm 突发传输强劲,WD SATAIII绿盘全国首测 作者:D 发表时间:2011年01月04日 . SATAIII时代来临:绿盘首款SATAIII上市 作为全球第一的硬盘厂商,西部数据在产品上的领先性给我…

linux 识别u盘,移动硬盘,固定硬盘

一、支持硬盘驱动的内核; 有些U盘,使用了SSD级别的主控(或者量产时指定为固定磁盘),接入到电脑上,识别成本地硬盘,例如sandisk的Cuzer Blade某些型号的U盘,文中常规U盘是指识别成可移动磁盘的U盘&#xff0…

linux 设备文件动态,使用 udev 高效、动态地管理 Linux 设备文件

概述: Linux 用户常常会很难鉴别同一类型的设备名,比如 eth0, eth1, sda, sdb 等等。通过观察这些设备的内核设备名称,用户通常能知道这些是什么类型的设备,但是不知道哪一个设备是他们想要的。例如,在一个充斥着本地磁…