亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實現(xiàn)的讀取電腦硬件信息功能示例

 更新時間:2018年05月30日 08:54:29   作者:shw800  
這篇文章主要介紹了Python實現(xiàn)的讀取電腦硬件信息功能,結(jié)合實例形式分析了Python基于wmi庫讀取電腦CPU、磁盤、網(wǎng)絡(luò)、進程等硬件信息相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)的讀取電腦硬件信息功能。分享給大家供大家參考,具體如下:

上學(xué)那會,老師讓我用java獲取電腦硬件信息,CPU, 硬盤,MAC等,那個時候感覺搞了好久。。。。。。

今天,用python試了一下,簡單多了。分享一下:

首先安裝wmi庫,wmi是一種規(guī)范和基礎(chǔ)結(jié)構(gòu),通過它可以訪問、配置、管理和監(jiān)視幾乎所有的Windows資源。大多用戶習(xí)慣于使用眾多的圖形化管理工 具來管理Windows資源,在wmi之前這些工具都是通過 Win32應(yīng)用程序編程接口來訪問和管理Windows資源的。大多數(shù)腳本 語言都不能直接調(diào)用Win32 API,wmiI的出現(xiàn)使得系統(tǒng)管理員可以通過一種簡便的方法即利用常見的腳本語言實現(xiàn)常用的系統(tǒng)管理任務(wù)。好了,上代碼吧

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(), # 獲取硬盤序列號,調(diào)用另外一個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()

運行結(jié)果:

:::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平臺測試,可能會出現(xiàn)如下錯誤:

1. no module named wmi 錯誤

可使用pip命令解決:

pip install wmi

即可。

2. no module named win32com.client 錯誤

本站下載pywin32-223-cp27-none-win32.whl 。

使用如下命令安裝:

pip install pywin32-223-cp27-none-win32.whl

即可。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結(jié)》、《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

最新評論