- 1. 概要
- 2. 読み込み
1. 概要
「tompllib」は、「python」の標準モジュールで、「.toml」形式のファイルを扱います。
標準ライブラリなのですが、バージョン「3.11」からの登場だそうで、それ以前のバージョンでは使えません。
本ページは、下記のサイトを参考にさせていただきました。
「tomllib --- TOML ファイルの解析」
「Python 3.11 から追加された標準パッケージ tomllib の紹介」
2. 読み込み
下記の内容の。
[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"
[dependencies]
[[bin]]
name = "src"
path = "src/main.rs"
「Rust」の設定ファイルがあったので。
読み込ませてみます。
import tomllib
with open("Cargo.toml", "rb") as file:
data = tomllib.load(file)
print(data)
てなソースを記述して、実行すると、下記の結果が得られます。
{'package': {'name': 'hello_world', 'version': '0.1.0', 'edition': '2021'}, 'dependencies': {}, 'bin': [{'name': 'src', 'path': 'src/main.rs'}]}
ちょっとびっくりだったのが、ファイルオープン時のモード「binary mode」指定です。
どう見ても、テキストにしか見えないのですが・・・。
「b」をつけておかないと。
Traceback (most recent call last):
File "/home/hogehoge/lang/python/parser/toml/toml01.py", line 9, in
data = tomllib.load(file)
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/tomllib/_parser.py", line 63, in load
raise TypeError(
TypeError: File must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`
kitayama@nt.sing.ne.jp /home/kitayama > python /home/hogehoge/lang/python/parser/toml/
と怒られちゃいました。
保存しようと思ったら・・・。
メソッドは、「load()」「loads()」だけのようで、保存はできないようです。
|