sys
-- システム固有関数¶
このモジュールは、該当する :term:`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)。例: (1, 7, 0)
- _machine - 基盤マシンを説明する文字列
- _mpy - サポートしている mpy ファイルフォーマットバージョン(オプション属性)
このオブジェクトは、MicroPython を他の Python 実装と区別する推奨手段です(しかし、最小限のポートには存在しないことに注意してください)。
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.
stderr
¶ 標準エラーの stream 。
-
sys.
stdin
¶ 標準入力の stream 。
-
sys.
stdout
¶ 標準出力の stream 。
-
sys.
tracebacklimit
¶ 例外に格納するトレースバックエントリの最大数を整数値で保持する変更可能属性です。0 を設定すると、トレースバックの追加を無効にします。デフォルトは 1000 です。
注記: これはすべてのポートで使用できるわけではありません。
-
sys.
version
¶ この処理系が準拠する Python 言語バージョンを表す文字列。
-
sys.
version_info
¶ この実装が準拠している Python 言語バージョンを表す int の タプル。
CPython との違い
最初の3つのバージョン番号 (major, minor, micro) のみがサポートされ、インデックスでのみ参照でき、名前では参照できません。