首先安裝wmi庫,wmi是一種規范和基礎結構,通過它可以訪問、配置、管理和監視幾乎所有的Windows資源。大多用戶習慣于使用眾多的圖形化管理工 具來管理Windows資源,在wmi之前這些工具都是通過 Win32應用程序編程接口來訪問和管理Windows資源的。大多數腳本 語言都不能直接調用Win32 API,wmiI的出現使得系統管理員可以通過一種簡便的方法即利用常見的腳本語言實現常用的系統管理任務。好了,上代碼吧
importwmiimporttimeimportjsonimportwin32comclassPCHardwork(object):globalss=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)returncpudefget_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)returndiskdefget_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)returnnetworkdefget_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怎么讀取電腦硬件信息,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
疫情補助金怎么領取?1、用戶打開第三方支付平臺;2、進入第三方支付平臺界面后點擊市民中心;3、在市民中心界面點擊社保;4、在公共服務選項點擊全國失業金申領;5、點擊失業金待遇領取;6、點擊失業補助金領取條件后面的去領取;7、在界面勾選接收條款,并點擊同意;8、在界面核對社保銀行賬戶信息,并點擊提交申請。待社保局審核通過后,會將失業補助金劃撥到用戶的社保銀行賬戶。2022年疫情補貼領取條件及標準20...
日照銀行屬于城市商業銀行,全稱為日照銀行股份有限公司,成立于2001年01月19日,前身是日照市商業銀行。2009年2月26日中國銀監會(現已更名為銀保監會)正式批準日照商業銀行更名為“日照銀行股份有限公司”,簡稱“日照銀行”。日照銀行經營范圍包括:吸收公眾存款;發放短期、中期和長期貸款;辦理國內結算;辦理票據貼現;發行金融債券;代理發行、代理兌付、...
(資料圖片)哈嘍小伙伴們 ,今天給大家科普一個小知識。在日常生活中我們或多或少的都會接觸到怎么測試內存卡速度方面的一些說法,有的小伙伴還不是很了解,今天就給大家詳細的介紹一下關于怎么測試內存卡速度的相關內容。首先在電腦上下載MyDiskTest軟件,然后將內存卡插入電腦中,再打開MyDiskTest軟件,打開后選擇測試內存卡,然后選擇讀寫速度測試,最后點擊屬性開始測試即可。SD卡存儲卡,是用于手機...