讀取電腦資訊 ( 硬碟容量、CPU、RAM...等 )
這篇文章會使用 Python 的 psutil 第三方函式庫,讀取電腦系統相關資訊 ( 例如硬碟容量、CPU、RAM...等 )。
快速導覽:
本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab ),不過因為要取得電腦資訊,所以使用本機環境 ( 參考:使用 Python 虛擬環境 ) 或 Anaconda Jupyter ( 參考:使用 Anaconda ) 進行實作會比較貼近真實狀況。
安裝 psutil 函式庫
輸入下列指令,就能安裝 psutil 函式庫 ( 依據每個人的作業環境不同,可使用 pip 或 pip3 或 pipenv,Anaconda 和 Colab 不用額外安裝 )。
pip install psutil
讀取硬碟、CPU 和 RAM 資訊
載入 psutil 函式庫後,透過下列的方法,就能讀取電腦硬碟、CPU 和 RAM 的資訊。
CPU 數量、使用率和使用頻率
CPU 數量分兩種,一種是邏輯數量,一種是實際物理上的 CPU 數量,如果邏輯數量較實際數量多,表示正在 CPU 執行超執行緒的動作。
import psutil print(psutil.cpu_count()) # CPU 邏輯數量 print(psutil.cpu_count(logical=False)) # 實際物理 CPU 數量 print(psutil.cpu_percent(interval=0.5, percpu=True)) # CPU 使用率 # interval:每隔多少秒更新一次 # percpu:查看所有 CPU 使用率 print(psutil.cpu_freq()) # CPU 使用頻率
記憶體使用狀況
讀取記憶體使用狀況可以知道記憶體總量 ( total )、可用量 ( available )、已使用的記憶體 ( used ) 和使用率 ( percent ) 等資訊。
import psutil print(psutil.virtual_memory()) # 記憶體資訊
硬碟狀況
讀取硬碟狀況可以查看分割的硬碟、硬碟使用率和硬碟 IO 等資訊。
import psutil print(psutil.disk_partitions()) # 所有硬碟資訊 print(psutil.disk_usage('硬碟 device 名稱')) # 指定硬碟資訊
讀取網路卡資訊
載入 psutil 函式庫後,透過下列的方法,就能讀取網路卡資訊 ( psutil.net_connections()
可能會需要安全性認證 )。
import psutil
print(psutil.net_io_counters()) # 網路封包
print(psutil.net_if_addrs()) # 網路卡的組態資訊, 包括 IP 地址、Mac地址、子網掩碼、廣播地址等等
print(psutil.net_connections()) # 目前機器的網路連線
讀取系統與使用者資訊
載入 psutil 函式庫後,透過下列的方法,就能讀取系統與使用者資訊。
import psutil
print(psutil.users()) # 登陸的使用者資訊
print(psutil.boot_time()) # 系統啟動時間
print(datetime.datetime.fromtimestamp(psutil.boot_time())) # 轉換成標準時間
讀取應用程式資訊
載入 psutil 函式庫後,透過下列的方法,就能讀取目前系統中正在執行的應用程式資訊。
import psutil
for prcs in psutil.process_iter():
print(prcs.name) # 印出所有正在執行的應用程式 ( 從中觀察 pid )
p = psutil.Process(pid=3987) # 讀取特定應用程式
print(p.name()) # 應用程式名稱
print(p.exe()) # 應用程式所在路徑
print(p.cwd()) # 應用程式執行路徑
print(p.status()) # 應用程式狀態
print(p.username()) # 執行應用程式的使用者
print(p.cpu_times()) # 應用程式的 CPU 使用時間
print(p.memory_info()) # 應用程式的 RAM 使用資訊
下圖是以讀取 Spotify 應用程式的資訊:
參考資料
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~