tomllib --- TOML ファイルの解析¶
Added in version 3.11.
ソースコード: Lib/tomllib
This module provides an interface for parsing TOML 1.0.0 (Tom's Obvious Minimal Language, https://toml.io). This module does not support writing TOML.
参考
Tomli-W パッケージ はTOMLの書き込み用にこのモジュールと組み合わせて使用でき、標準ライブラリの marshal や pickle モジュールなどでユーザーによく知られている書き込みAPIを提供します。
参考
TOML Kit パッケージ は、スタイルを保持した読み書きに対応したTOMLライブラリです。存在するTOMLファイルを編集するときにこのモジュールの代わりに使用することを推奨します。
このモジュールは以下の関数を定義しています:
- tomllib.load(fp, /, *, parse_float=float)¶
- TOMLファイルを読み込みます。第1引数には読み込み可能なバイナリのファイルオブジェクトを指定します。戻り値は - dictです。TOMLの型は conversion table を使用してPythonのデータ型に変換されます。- parse_float は、全てのデコードされる TOML の浮動小数点数文字列に対して呼ばれます。デフォルトでは、 - float(num_str)と等価です。これは TOML 浮動小数点数に対して他のデータ型やパーサ (たとえば- decimal.Decimal) を使うのに使えます。呼び出し可能オブジェクトは- dictや- list以外を返す必要があり、そうでない場合は- ValueErrorが送出されます。- 無効なTOMLドキュメントの場合は - TOMLDecodeErrorが送出されます。
- tomllib.loads(s, /, *, parse_float=float)¶
- strからTOMLを読み込みます。戻り値は- dictです。TOMLの型は conversion table を使用してPythonのデータ型に変換されます。parse_float 引数は- load()と同じ意味を持ちます。- 無効なTOMLドキュメントの場合は - TOMLDecodeErrorが送出されます。
次の例外がサポートされています:
- exception tomllib.TOMLDecodeError(msg, doc, pos)¶
- ValueErrorのサブクラスで、以下の追加の属性を持ちます:- msg¶
- フォーマットされていないエラーメッセージです。 
 - doc¶
- The TOML document being parsed. 
 - pos¶
- The index of doc where parsing failed. 
 - lineno¶
- pos に対応する行です。 
 - colno¶
- pos に対応する列です。 
 - バージョン 3.14 で変更: Added the msg, doc and pos parameters. Added the - msg,- doc,- pos,- linenoand- colnoattributes.- バージョン 3.14 で非推奨: Passing free-form positional arguments is deprecated. 
使用例¶
TOMLファイルを解析します:
import tomllib
with open("pyproject.toml", "rb") as f:
    data = tomllib.load(f)
TOMLの文字列を解析します:
import tomllib
toml_str = """
python-version = "3.11.0"
python-implementation = "CPython"
"""
data = tomllib.loads(toml_str)
変換表¶
| TOML | Python | 
|---|---|
| TOMLドキュメント | 辞書 | 
| string | str | 
| 整数 | int | 
| 浮動小数点数 | float (parse_float で設定可能) | 
| boolean | 真偽値型(bool) | 
| オフセット付きの日時に日地 | datetime.datetime( | 
| ローカルの日時 | datetime.datetime( | 
| ローカルの日付 | datetime.date | 
| ローカルの時刻 | datetime.time | 
| 配列 | リスト | 
| テーブル | 辞書 | 
| インラインテーブル | 辞書 | 
| テーブルの配列 | 辞書のリスト |