このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

os -- 基本的な「オペレーティングシステム」サービス

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

os モジュールには、ファイルシステムのアクセス、マウント、ターミナルのリダイレクトと複製、unameurandom のための関数があります。

一般関数

os.uname()

基盤のマシンやオペレーティングシステムに関する情報を含むタプル(おそらく名前付きタプル)を返します。タプルには次の5つのフィールドがあり、それぞれが文字列です。

  • sysname -- 基盤システムの名前

  • nodename -- ネットワーク名(sysname と同じこともあります)

  • release -- 基盤システムのバージョン

  • version -- MicroPython のバージョンとビルド日付

  • machine -- 基盤ハードウェアの識別子(ボード、CPUなど)

os.urandom(n)

n 個のランダムバイトを持つ bytes 型オブジェクトを返します。可能な限り、ハードウェア乱数生成器によって乱数を生成します。

ファイルシステムのアクセス

os.chdir(path)

カレントディレクトリを変更します。

os.getcwd()

カレントディレクトリのパスを返します。

os.ilistdir([dir])

この関数はイテレータを返します。イテレータが生成するのは、ディレクトリ内のエントリに対応するタプルです。引数なしの場合はカレントディレクトリを、それ以外の場合は dir で指定したディレクトリをリストします。

タプルの形式は (name, type, inode [, size]) です。

  • name は文字列(dir が bytes 型オブジェクトの場合は bytes 型オブジェクト)であり、エントリの名前です。

  • type はエントリのタイプを指定する整数で、ディレクトリの場合は 0x4000、通常のファイルの場合は 0x8000 です。

  • inode はファイルのiノードに対応する整数であり、そのような概念を持たないファイルシステムについては 0 になります。

  • 一部のプラットフォームでは、エントリのサイズを含む4タプルが返されることがあります。ファイルエントリの場合、 size はファイルのサイズを表す整数で、未知の場合は -1 です。現在のところ、ディレクトリエントリについては未定義です。

os.listdir([dir])

引数を指定しない場合は、カレントディレクトリ内のエントリを表示します。それ以外の場合は指定されたディレクトリ内のエントリを表示します。

os.mkdir(path)

新規にディレクトリを作成します。

os.remove(path)

ファイルを削除します。

os.rmdir(path)

ディレクトリを削除します。

os.rename(old_path, new_path)

ファイルの名前を変更します。

os.stat(path)

ファイルまたはディレクトリのステータスを取得します。

os.statvfs(path)

ファイルシステムの状態を取得します。

次の順序でファイルシステム情報を含むタプルを返します。

  • f_bsize -- ファイルシステムのブロックサイズ

  • f_frsize -- フラグメントサイズ

  • f_blocks -- f_frsize 単位の fs のサイズ

  • f_bfree -- 空きブロックの数

  • f_bavail -- 権限なしユーザーのための空きブロック数

  • f_files -- iノード数

  • f_ffree -- フリーのiノードの数

  • f_favail -- 権限なしユーザの空きiノード数

  • f_flag -- マウントフラグ

  • f_namemax -- 最大ファイル名の長さ

iノードに関連するパラメータ f_files, f_ffree, f_avail, f_flags は、ポート固有の実装で使えない場合には 0 になります。

os.sync()

すべてのファイルシステムを同期します。

ターミナルのリダイレクトと複製

os.dupterm(stream_object, index=0, /)

与えた stream ライクなオブジェクトに MicroPython 端末(REPL)を複製または切り替えを行います。 stream_object の引数はネイティブストリームオブジェクトか、io.IOBase から派生して readinto()write() メソッドを実装したものでなければなりません。ストリームは非ブロッキングモードで、 readinto() は読み込み可能なデータがない場合は None を返すようにします。

この関数を呼び出した後、すべての端末出力がこのストリーム上で繰り返され、ストリーム上で利用可能なすべての入力がターミナル入力に渡されます。

index パラメータは負でない整数であり、設定されている複製を指定します。ポートは2つ以上のスロットを実装できます(スロット 0 は常に使用可能です)。その場合、端末の入出力は設定されているすべてのスロットに複製されます。

stream_objectNone を渡した場合、 index によって指定されたスロットで重複が取り消されます。

この関数は、指定したスロットの前のストリームライク風オブジェクトを返します。

ファイルシステムのマウント

次の関数やクラスは vfs モジュールに移動しました。このモジュールでは、後方互換性のために提供されており、MicroPython のバージョン2では削除されます。

os.mount(fsobj, mount_point, *, readonly)

vfs.mount を参照。

os.umount(mount_point)

vfs.umount を参照。

class os.VfsFat(block_dev)

vfs.VfsFat を参照。

class os.VfsLfs1(block_dev, readsize=32, progsize=32, lookahead=32)

vfs.VfsLfs1 を参照。

class os.VfsLfs2(block_dev, readsize=32, progsize=32, lookahead=32, mtime=True)

vfs.VfsLfs2 を参照。

class os.VfsPosix(root=None)

vfs.VfsPosix を参照。