Last Updated on 2021-05-12 by Clay
在開發 Python 的專案時,常常會有需要判斷使用者目前的作業系統的時候——因為不同的作業系統,我們可能就得使用不同的方法來實做同樣的一個功能。
在我最近實做多執行緒的程式的時候,使用者有多少 CPU 的核心數也同樣重要,故一併紀錄在這裡。
測試使用者作業系統可以使用 platform 模組、計算 CPU 數量則可以使用 multiprocessing 當中的 cpu_count() 函式。
程式碼解說
查看作業系統其實相當容易:
# -*- coding: utf-8 -*- import platform print(platform.system())
Output:
Windows
可以簡單看出我的作業系統是 Windows。當然,如果今天使用的是 Linux 的作業系統,比方說在我 Windows 裡內建的 Linux 子系統裡 (WSL 系統的介紹以及安裝辦法可以參考我寫的這篇: 《Bash on Ubuntu on Windows —— 在 Windows 上的 Linux 子系統》)。
Output:
這次顯示出來的作業系統版本便是 Linux。
關於 platform 模組相關的說明可以參考官網的介紹: https://docs.python.org/3.6/library/platform.html
據我所知,返回的作業系統名稱應如下:
Linux: Linux
Windows: Windows
MacOS: Darwin
JVM: Java
那麼,我們又該怎麼統計 CPU 的核心數呢?
from multiprocessing import cpu_count print(cpu_count())
Output:
8
可以看到,我的 CPU 總共有 8 核心。