sys
-- システム固有関数¶
このモジュールは、該当する CPython モジュールのサブセットを実装しています。
詳しくはオリジナルの CPython ドキュメンテーションを参照してください: sys
.
関数¶
- sys.exit(retval=0, /)¶
与えた終了コードで現在のプログラムを終了します。基本的に、この関数は
SystemExit
例外を起こします。引数を与えた場合、その値はSystemExit
に引数として与えられます。
- sys.atexit(func)¶
終了時に呼び出す関数 func を登録します。 func は、引数の無い呼出し可能オブジェクトである必要があります。呼出しを無効にするには func に
None
を指定します。このatexit
関数は、この関数で以前に設定した値を返します。初回の呼び出しではNone
を返します。CPython との違い
この関数は、CPython の
atexit
モジュールと似た機能を提供することを目的とした MicroPython の拡張機能です。
- sys.print_exception(exc, file=sys.stdout, /)¶
例外をトレースバック付きでファイルライクなオブジェクト file (またはデフォルトの
sys.stdout
)に出力します。CPython との違い
これは CPython の
traceback
モジュールにある関数の簡略版です。traceback.print_exception()
とは異なり、この関数は例外型、例外値、トレースバックオブジェクトの代わりに例外値だけをとります。 file 引数は位置パラメータでなければなりません。この他の引数はサポートされていません。CPython 互換のtraceback
モジュールはmicropython-lib
にあります。
- sys.settrace(tracefunc)¶
バイトコード実行のトレースを有効にします。詳細については CPython のドキュメント を参照してください。
この関数は、(パフォーマンスに影響するので)ビルド済みファームウェアのほとんどには組み込まれていません。そのような場合に利用できるようにするには、MicroPython のカスタムビルドが必要です。関連する設定オプションは MICROPY_PY_SYS_SETTRACE です。
定数¶
- sys.argv¶
現在のプログラム開始時の引数の変更可能なリスト。
- sys.byteorder¶
システムのバイト順(
"little"
または"big"
)。
- sys.implementation¶
現在の Python 処理系に関する情報を持つオブジェクト。MicroPython では次の属性を持ちます:
name - 文字列 "micropython"
version - タプル (major, minor, micro, releaselevel)。例: (1, 22, 0, '')
_machine - 基盤マシンを説明する文字列
_mpy - サポートしている mpy ファイルフォーマットバージョン(オプション属性)
このオブジェクトは、MicroPython を他の Python 実装と区別する推奨手段です(しかし、最小限のポートには存在しないことに注意してください)。
バージョン 1.22.0-preview 以降、 implementation.version の4番目の項目 releaselevel は空文字列または
"preview"
になります。CPython との違い
CPython ではこのオブジェクトにもっと多くの属性がありますが、MicroPython では実際に有用となる最低限のものだけを実装しています。
- sys.maxsize¶
現在のプラットフォームでネイティブ整数型が保持できる最大値、またはプラットフォームの最大値より小さい場合は MicroPython 整数型で表現可能な最大値(MicroPython ポートで 長整数をサポートしないとした場合)。
この属性は、プラットフォームの「ビット数」(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 するモジュールを検索するディレクトリの変更可能なリスト。
CPython との違い
MicroPythonでは、
".frozen"
という値を持つエントリは、import が検索時に 凍結モジュール を検索することを意味します。凍結モジュールが見つからなければ、.frozen
というディレクトリを 探さず 、代わりにsys.path
の次のエントリで検索を続行します。
- sys.platform¶
MicroPython が実行されているプラットフォーム。OS/RTOS ポートの場合、これは通常
"linux"
など OS の識別子となります。ベアメタルポートの場合はボードの識別子となります。オリジナルの MicroPython リファレンスボードでは"pyboard"
となります。したがって、これはあるボードを別のボードと区別するために使用できます。あなたのプログラムが MicroPython 上で実行されているのか(それとも他の Python 実装で動いているのか)を確認する必要がある場合は代わりにsys.implementation
を使ってください。
- sys.tracebacklimit¶
例外に格納するトレースバックエントリの最大数を整数値で保持する変更可能属性です。0 を設定すると、トレースバックの追加を無効にします。デフォルトは 1000 です。
注記: これはすべてのポートで使用できるわけではありません。
- sys.version¶
この処理系が準拠する Python 言語バージョンを表す文字列。
- sys.version_info¶
この実装が準拠している Python 言語バージョンを表す int の タプル。
CPython との違い
最初の3つのバージョン番号 (major, minor, micro) のみがサポートされ、インデックスでのみ参照でき、名前では参照できません。