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

バージョン 2.3 で追加.

**ソースコード:** Lib/platform.py

======================================================================

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


クロスプラットフォーム
======================

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イ
   ンタープリタでない場合には適切なデフォルト値が返ります。

   注釈: Mac OS X (とひょっとすると他のプラットフォーム) では、実行
     可能フ ァイルは複数のアーキテクチャを含んだユニバーサル形式かもし
     れませ ん。現在のインタプリタが 「64-bit」 であるかどうかを調べる
     には、 "sys.maxsize" の方が信頼できます:

        is_64bits = sys.maxsize > 2**32

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』, 『PyPy』 のいずれかです。

   バージョン 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()

   Fairly portable uname interface. Returns a tuple of strings
   "(system, node, release, version, machine, processor)" identifying
   the underlying platform.

   Note that unlike the "os.uname()" function this also returns
   possible processor information as additional tuple entry.

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


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)" です。不明な項目は引数で指定した値
   (デフォルトは "''") となります。


Windows プラットフォーム
========================

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

   Windows レジストリから追加のバージョン情報を取得して、タプル
   "(release, version, csd, ptype)" を返します。それぞれ、OS リリース
   、バージョン番号、CSD レベル (サービスパック)、OS タイプ (マルチ/シ
   ングルプロセッサー) を指しています。

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

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


Win95/98 固有
-------------

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

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


Mac OS プラットフォーム
=======================

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

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

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


Unix プラットフォーム
=====================

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

   This is an old version of the functionality now provided by
   "linux_distribution()". For new code, please use the
   "linux_distribution()".

   The only difference between the two is that "dist()" always returns
   the short name of the distribution taken from the "supported_dists"
   parameter.

   バージョン 2.6 で撤廃.

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

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

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

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

   戻り値はタプル "(distname, version, id)" で、不明な項目は引数で指定
   した値となります。"id" はバージョン番号に続く括弧内の要素です。これ
   は通常バージョンコードネームです。

   バージョン 2.6 で追加.

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

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

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

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