读取电脑信息
这篇文章会使用 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 应用程序的信息:
参考数据
微信扫码关注
抖音扫码关注