Pythonでシステム情報を取得(sys, platform, os)
この記事では、Pythonのsys、platform、osモジュールを使ってシステム情報を取得する方法を説明します。OSの種類、アーキテクチャ、CPU情報、メモリ情報などを取得するサンプルコード付きです。
目次
sysモジュールによるシステム情報取得
sysモジュールは、Pythonインタプリタと、その環境に関する情報を提供します。システム情報を取得するのに便利なメソッドをいくつか持っています。
import sys
print(sys.platform) # OSの種類
print(sys.version) # Pythonのバージョン
print(sys.executable) # Pythonインタプリタの実行ファイルパス
print(sys.maxsize) # Pythonで扱える整数の最大値
sys.platformは、OSの種類を示す文字列を返します。例:'win32' (Windows), 'darwin' (macOS), 'linux' (Linux) sys.versionは、Pythonインタプリタのバージョン情報を返します。 sys.executableは、Pythonインタプリタの実行ファイルのパスを返します。 sys.maxsizeは、Pythonで扱える整数の最大値を返します。
platformモジュールによる詳細なプラットフォーム情報取得
platformモジュールは、より詳細なプラットフォーム情報を取得するために使用します。OSの種類、アーキテクチャ、リリースなど、様々な情報を取得できます。
import platform
print(platform.system()) # OSの名前(例: Windows, Linux, Darwin)
print(platform.release()) # OSのリリースバージョン
print(platform.version()) # OSのバージョン情報
print(platform.machine()) # マシンアーキテクチャ(例: x86_64, arm64)
print(platform.processor()) # CPUの種類
print(platform.python_version()) # Pythonのバージョン
platformモジュールは、OSに関する詳細な情報を提供します。これらは、システムの構成や動作を理解するのに役立ちます。
osモジュールによるOS固有の情報取得
osモジュールは、OSとのインタフェースを提供するモジュールで、OS固有の情報も取得できます。ただし、プラットフォーム間で動作を保証するものではありません。
import os
print(os.name) # OSの種類を示す文字列(例: nt, posix)
print(os.environ) # 環境変数の辞書
os.nameは、OSの種類を示す文字列を返します。例:'nt' (Windows), 'posix' (macOS, Linuxなど) os.environは、システム環境変数の辞書を返します。
サンプルコードと実行結果
以下のコードを実行すると、それぞれのモジュールから取得できるシステム情報を確認できます。実行環境によって結果は異なります。
import sys, platform, os
print('--- sys module ---')
print(f"Platform: {sys.platform}")
print(f"Version: {sys.version}")
print(f"Executable: {sys.executable}")
print(f"Maxsize: {sys.maxsize}\n")
print('--- platform module ---')
print(f"System: {platform.system()}")
print(f"Release: {platform.release()}")
print(f"Version: {platform.version()}")
print(f"Machine: {platform.machine()}")
print(f"Processor: {platform.processor()}")
print(f"Python Version: {platform.python_version()}\n")
print('--- os module ---')
print(f"OS Name: {os.name}")
print(f"Environment Variables: {os.environ}")
実行結果の例: ``` --- sys module --- Platform: darwin Version: 3.9.6 (default, Aug 19 2021, 16:17:08) [Clang 12.0.0 ] Executable: /usr/local/bin/python3 Maxsize: 9223372036854775807 --- platform module --- System: Darwin Release: 21.6.0 Version: Darwin Kernel Version 21.6.0: Tue Aug 23 21:35:04 PDT 2022; root:xnu-8020.141.2~1/RELEASE_X86_64 Machine: x86_64 Processor: i386 Python Version: 3.9.6 --- os module --- OS Name: posix Environment Variables: environ({'TERM_PROGRAM': 'Apple_Terminal', ...}) ```
関連記事
- Pythonでファイル・ディレクトリの情報を取得(os.stat, pathlib.Path)
- Pythonでファイル・ディレクトリの操作(os, shutil, pathlib)
- Pythonでファイル・ディレクトリの存在確認(os.path.exists, os.path.isfile, os.path.isdir)
- Pythonでディレクトリを作成・削除(os.mkdir, os.makedirs, os.rmdir, shutil.rmtree)
- Pythonで環境変数を取得(os.environ)
- Pythonで外部コマンドを実行(os.system, subprocess)
- Pythonでファイル・ディレクトリのコピー・移動(shutil.copy, shutil.move)
- Pythonで一時ファイル・一時ディレクトリを作成(tempfile)
- Pythonでファイルを読み込む(read, readline, readlines)
- Pythonでファイルに書き込む(write, writelines)