Pythonには、コードが実行されるプラットフォームを処理するための関数を含むPlatformモジュールがあります。
この記事では、このモジュールについて説明し、その便利な関数のほとんどを見ていきます。
プラットフォームモジュールについて
platformモジュールは、システムやプラットフォームに関する情報を取得するために使用されます。
このモジュールを使って、互換性チェックを行うことができます。
例えば、プロセッサのアーキテクチャ、使用しているオペレーティングシステム、システムが持っているPythonのバージョンなど、ある条件を満たす必要があるPythonプログラムがある場合、このモジュールを使用することができます。
これらの仕様は、Pythonのコードがシステム上でどの程度動作するかを判断するために使用されます。
互換性チェックのためだけでなく、このモジュールはそのために使用することもできます。
プラットフォームの仕様を教えてくれるプログラムはたくさんあり、Pythonで書かれたそのようなプログラムであれば、このモジュールを使用することができます。
このモジュールは “platform “という名前なので、エイリアスなしでインポートするには、次のようにすればよいでしょう。
import platform
|
プラットフォームモジュールが提供する機能
では、まず利用可能な機能を紹介します。
各関数について、Linuxの仮想マシン上で実行する例を示します。
合わせて読みたい – Python os モジュール
1. プラットフォームアーキテクチャ
プラットフォームで使用されているプロセッサーのビット・アーキテクチャ (プロセッサー・バスのビット数) とリンク形式を含むタプルを返します。
どちらの値も文字列として返されます。
platform.architecture() |
('64bit', 'ELF')
2. マシンタイプ
プラットフォームのマシンタイプ(プロセッサで使用されるレジスタのサイズ)を含む文字列を返します。
platform.machine() |
'x86_64'
3. ネットワーク名
プラットフォームのネットワーク名(ネットワーク上に存在する場 合に表示される名前)を含む文字列を返します ネットワーク名(ネットワーク上に存在する場合に表示される 名前)を含む文字列を返します
platform.node() |
'sumeet-VirtualBox'
4. プラットフォーム情報
プラットフォームに関する有用な情報を含む文字列を1つ返します。
この関数は可能な限り多くの情報を取得し、人間が読めるような文字列を返すので、プラットフォームによって異なる場合があります。
platform.platform() |
'Linux-5.4.0-58-generic-x86_64-with-glibc2.29'
5. プロセッサー名
プラットフォームで使用されているプロセッサの実際の名前を含む単一の文字列を返します。
platform.processor() |
'Intel64 Family 6 Model 158 Stepping 10, GenuineIntel'
6. Python のビルド
プラットフォーム上の Python インストールのビルド番号とビルド日付を含むタプルを返します。
タプルの値は両方とも文字列です。
platform.python_build() |
('default', 'Jan 27 2021 15:41:15')
7. Python コンパイラ
プラットフォーム上で Python をコンパイルするために使用されるコンパイラの名前を含む文字列を返します。
platform.python_compiler() |
'GCC 9.3.0'
8. Python の実装
プラットフォーム上にインストールされている Python の実装に関する情報を含む文字列を返します。
platform.python_implementation() |
'CPython'
9. Python バージョン
プラットフォームにインストールされている Python のバージョンを識別する文字列を返します。
文字列は “major.minor.patchlevel
” という形式です。
platform.python_version() |
'3.8.5'
10. Python バージョン タプル
プラットフォームにインストールされているPythonのバージョンをタプルとして返します。
タプルのフォーマットは “(major, minor, patchlevel)
” です。
platform.python_version_tuple() |
('3', '8', '5')
11. OSリリース
OSのリリース情報を文字列で返します。
platform.release() |
'5.4.0-58-generic'
12. OS 名
当該プラットフォームにおける OS の名称を文字列で返します。
platform.system() |
'Linux'
13. OS リリースバージョン
プラットフォーム上のオペレーティングシステムのリリースバージョンを 文字列で返します。
platform.version() |
'#64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020'
14. プラットフォーム情報タプル
system、node、release、version、machine、processor の 6 つの属性からなる名前付きタプルを返します。
これらの属性はすべて個別の関数を持っているので、この関数を使用すると、他の関数から得られるすべての情報を取得することができます。
platform.uname() |
uname_result(system='Linux', node='sumeet-VirtualBox', release='5.4.0-58-generic', version='#64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020', machine='x86_64', processor='Intel64 Family 6 Model 158 Stepping 10, GenuineIntel')
おわりに
この記事では、python の platform モジュールについて勉強しました。
その重要な関数の多くについて説明し、その出力を見てきました。
次のチュートリアルでお会いできることを楽しみにしています。