目次

前のトピックへ

15.12. curses.panel — curses のためのパネルスタック拡張

次のトピックへ

15.14. errno — 標準の errno システムシンボル

このページ

15.13. platform — 実行中プラットフォームの固有情報を参照する

バージョン 2.3 で追加.

ノート

プラットフォーム毎にアルファベット順に並べています。Linuxについては Unixセクションを参照してください。

15.13.1. クロスプラットフォーム

platform.architecture(executable=sys.executable, bits='', linkage='')

executable で指定した実行可能ファイル(省略時はPythonインタープリタのバイナリ)の各種アーキテクチャ情報を調べます。

戻り値はタプル (bits, linkage) で、アーキテクチャのビット数と実行可能ファイルのリンク形式を示します。どちらの値も文字列で返ります。

値が不明な場合は、パラメータで指定した値が返ります。 bits'' と指定した場合、ビット数として sizeof(pointer)() が返ります。(Pythonのバージョンが1.5.2以下の場合は、サポートされているポインタサイズとして sizeof(long)() を使用します。)

この関数は、システムの file コマンドを使用します。 file はほとんどのUnixプラットフォームと一部の非Unixプラットフォームで利用可能ですが、 file コマンドが利用できず、かつ executable が Pythonインタープリタでない場合には適切なデフォルト値が返ります。

platform.machine()

'i386' のような、機種を返します。不明な場合は空文字列を返します。

platform.node()

コンピュータのネットワーク名を返します。ネットワーク名は完全修飾名とは限りません。不明な場合は空文字列を返します。

platform.platform(aliased=0, terse=0)

実行中プラットフォームを識別する文字列を返します。この文字列には、有益な情報をできるだけ多く付加しています。

戻り値は機械で処理しやすい形式ではなく、 人間にとって読みやすい 形式となっています。異なったプラットフォームでは異なった戻り値となるようになっています。

aliased が真なら、システムの名称として一般的な名称ではなく、別名を使用して結果を返します。たとえば、SunOS は Solaris となります。この機能は system_alias() で実装されています。

terse が真なら、プラットフォームを特定するために最低限必要な情報だけを返します。

platform.processor()

'amdk6' のような、(現実の)プロセッサ名を返します。

不明な場合は空文字列を返します。NetBSDのようにこの情報を提供しない、または machine() と同じ値しか返さないプラットフォームも多く存在しますので、注意してください。

platform.python_build()

Pythonのビルド番号と日付を、 (buildno, builddate) のタプルで返します。

platform.python_compiler()

Pythonをコンパイルする際に使用したコンパイラを示す文字列を返します。

platform.python_branch()

Python実装のバージョン管理システム上のブランチを特定する文字列を返します。

バージョン 2.6 で追加.

platform.python_implementation()

Python実装を指定する文字列を返します。戻り値は: CPython, IronPython, Jython のいずれかです。

バージョン 2.6 で追加.

platform.python_revision()

Python実装のバージョン管理システム上のリビジョンを特定する文字列を返します。

バージョン 2.6 で追加.

platform.python_version()

Pythonのバージョンを、 'major.minor.patchlevel' 形式の文字列で返します。

sys.version と異なり、patchlevel(デフォルトでは0)も必ず含まれています。

platform.python_version_tuple()

Pythonのバージョンを、文字列のタプル (major, minor, patchlevel) で返します。

sys.version と異なり、patchlevel(デフォルトでは 0)も必ず含まれています。

platform.release()

'2.2.0''NT' のような、システムのリリース情報を返します。不明な場合は空文字列を返します。

platform.system()

'Linux', 'Windows', 'Java' のような、システム/OS 名を返します。不明な場合は空文字列を返します。

platform.system_alias(system, release, version)

マーケティング目的で使われる一般的な別名に変換して (system, release, version) を返します。混乱を避けるために、情報を並べなおす場合があります。

platform.version()

'#3 on degas' のような、システムのリリース情報を返します。不明な場合は空文字列を返します。

platform.uname()

非常に可搬性の高い uname インターフェースで、実行中プラットフォームを示す情報を、文字列のタプル (system, node, release, version, machine, processor) で返します。

os.uname() と異なり、複数のプロセッサ名が候補としてタプルに追加される場合があります。

不明な項目は '' となります。

15.13.2. Java プラットフォーム

platform.java_ver(release='', vendor='', vminfo=('', '', ''), osinfo=('', '', ''))

Jython用のバージョンインターフェースです。

タプル (release, vendor, vminfo, osinfo) を返します。 vminfo はタプル (vm_name, vm_release, vm_vendor)osinfo はタプル (os_name, os_version, os_arch) です。不明な項目は引数で指定した値(デフォルトは '') となります。

15.13.3. Windows プラットフォーム

platform.win32_ver(release='', version='', csd='', ptype='')

Windowsのレジストリからバージョン情報を取得し、バージョン番号/CSDレベル/OSタイプ(シングルプロセッサ又はマルチプロセッサ)をタプル (version, csd, ptype) で返します。

参考: ptype はシングルプロセッサのNT上では 'Uniprocessor Free' 、マルチプロセッサでは 'Multiprocessor Free' となります。 ‘Free’ がついている場合はデバッグ用のコードが含まれていないことを示し、 ‘Checked’ がついていれば引数や範囲のチェックなどのデバッグ用コードが含まれていることを示します。

ノート

この関数は、Mark Hammondの win32all がインストールされた環境で良く動作しますが、Python 2.3 以上なら一応動作します。(Python 2.6からサポートされました) もちろん、この関数が使えるのはWin32互換プラットフォームのみです。

15.13.3.1. Win95/98 固有

platform.popen(cmd, mode='r', bufsize=None)

可搬性の高い popen() インターフェースで、可能なら win32pipe.popen() を使用します。 win32pipe.popen() はWindows NTでは利用可能ですが、Windows 9xではハングしてしまいます。

15.13.4. Mac OS プラットフォーム

platform.mac_ver(release='', versioninfo=('', '', ''), machine='')

Mac OSのバージョン情報を、タプル (release, versioninfo, machine) で返します。 versioninfo は、タプル (version, dev_stage, non_release_version) です。

不明な項目は '' となります。タプルの要素は全て文字列です。

この関数で使用している gestalt() API については、 http://www.rgaros.nl/gestalt/ を参照してください。

15.13.5. Unix プラットフォーム

platform.dist(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...))

この関数は、現在 linux_distribution() が提供している機能の古いバージョンです。新しいコードを書くときは、 linux_distribution() を利用してください。

linux_distribution() との違いは、 dist() は常に supported_dists 引数から取った短い名前を返す事です。

platform.linux_distribution(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...), full_distribution_name=1)

OSディストリビューション名の取得を試みます。

supported_dists は、検索するLinuxディストリビューションを定義するために利用します。デフォルトでは、リリースファイル名で定義されている、現在サポートされているLinuxディストリビューションのリストです。

full_distribution_nameTrue (デフォルト)の場合、 OSから読み込まれた完全なディストリビューション名が返されます。それ以外の場合、 supported_dists で利用された短い名前が返されます。

戻り値はタプル (distname, version, id) で、不明な項目は引数で指定した値となります。

バージョン 2.6 で追加.

platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=2048)

executableで指定したファイル(省略時はPythonインタープリタ)がリンクしているlibcバージョンの取得を試みます。戻り値は文字列のタプル (lib, version) で、不明な項目は引数で指定した値となります。

この関数は、実行形式に追加されるシンボルの細かな違いによって、libcのバージョンを特定します。この違いは gcc でコンパイルされた実行可能ファイルでのみ有効だと思われます。

chunksize にはファイルから情報を取得するために読み込むバイト数を指定します。