sys -- システム固有関数

このモジュールは、該当する `CPython` モジュールのサブセットを実装しています。 詳しくはオリジナルの CPython ドキュメンテーションを参照してください: sys.

関数

sys.exit(retval=0)

与えた終了コードで現在のプログラムを終了します。基本的に、この関数は SystemExit 例外を起こします。引数を与えた場合、その値は SystemExit に引数として与えられます。

sys.atexit(func)

Register func to be called upon termination. func must be a callable that takes no arguments, or None to disable the call. The atexit function will return the previous value set by this function, which is initially None.

CPython との違い

This function is a MicroPython extension intended to provide similar functionality to the atexit module in CPython.

sys.print_exception(exc, file=sys.stdout)

トレースバックを使用して例外をファイルライクなオブジェクト file (またはデフォルトの sys.stdout)に出力します。

CPython との違い

これは CPython の traceback モジュールにある関数の簡略版です。traceback.print_exception() とは異なり、この関数は例外型、例外値、トレースバックオブジェクトの代わりに例外値だけをとります。 file 引数は位置パラメータでなければなりません。この他の引数はサポートされていません。CPython 互換の traceback モジュールは micropython-lib にあります。

定数

sys.argv

現在のプログラム開始時の引数の変更可能なリスト。

sys.byteorder

システムのバイト順("little" または "big")。

sys.implementation

現在の Python 実装に関する情報を持つオブジェクト。MicroPython では次の属性を持ちます:

  • name - 文字列 "micropython"
  • version - タプル (major, minor, micro)。例: (1, 7, 0)

このオブジェクトは、MicroPython を他の Python 実装と区別する推奨手段です(しかし、最小限のポートには存在しないことに注意してください)。

CPython との違い

CPython ではこのオブジェクトにもっと多くの属性がありますが、MicroPython では実際に有用となる最低限のものだけを実装しています。

sys.maxsize

現在のプラットフォームでネイティブ整数型が保持できる最大値、またはプラットフォームの最大値より小さい場合は MicroPython 整数型で表現可能な最大値(MicroPython ポートで long int をサポートしないとした場合)。

この属性は、プラットフォームの「ビット数」(32ビットか64ビットかなど)を検出するのに便利です。この属性をある値と直接比較するのよりも、その属性のビット数をカウントすることをお勧めします。

bits = 0
v = sys.maxsize
while v:
    bits += 1
    v >>= 1
if bits > 32:
    # 64ビット(以上)のプラットフォーム
    ...
else:
    # 32ビット(以下)のプラットフォーム
    # 32ビットプラットフォームでは、上記の特性によってビットの値が32未満
    # (たとえば31)になる可能性があるので、 "> 16", "> 32", "> 64" の
    # の比較スタイルを使用してください。
sys.modules

読み込まれたモジュールの辞書。一部のポートでは、組込みモジュールが含まれていない可能性があります。

sys.path

import するモジュールを検索するディレクトリの変更可能なリスト。

sys.platform

MicroPython が実行されているプラ​​ットフォーム。OS/RTOS ポートの場合、これは通常 "linux" など OS の識別子となります。ベアメタルポートの場合はボードの識別子となります。オリジナルの MicroPython リファレンスボードでは "pyboard" となります。したがって、これはあるボードを別のボードと区別するために使用できます。あなたのプログラムが MicroPython 上で実行されているのか(それとも他の Python 実装で動いているのか)を確認する必要がある場合は代わりに sys.implementation を使ってください。

sys.stderr

標準エラーの stream

sys.stdin

標準入力の stream

sys.stdout

標準出力の stream

sys.version

この実装が準拠する Python 言語バージョン。

sys.version_info

この実装が準拠している Python 言語バージョンを表す int の タプル。

CPython との違い

Only the first three version numbers (major, minor, micro) are supported and they can be referenced only by index, not by name.