概要
PythonでTomlファイルを読み込んで値を参照する。
参照した値を編集してファイル出力する。
バージョン情報
- toml-0.10.0
インストール
pip install toml
サンプルデータ
下記のデータを読み込ませてみる。
# 適当なtomlファイル a = 0 b = "hoge" c = "fuga" [key] value = "val1" [key1.key2] value = "val2" [[arr]] x = 0 [[arr]] x = 1 [[arr]] x = 2 arr2 = [1, 2, 3]
toml.load
toml.loadでTomlファイルをロードできる。
引数にはファイル名かopenしたファイルを渡す。
# ファイル名を渡す場合 obj = toml.load('settings.toml') # openして渡す場合 with open('settings.toml', 'rt') as fp: obj = toml.load(fp)
実行結果
{'a': 0, 'b': 'hoge', 'c': 'fuga', 'arr1': [1, 2, 3], 'key': {'value': 'val1'}, 'key1': {'key2': {'value': 'val2'}}, 'arr2': [{'x': 0}, {'x': 1}, {'x': 2}]}
文字列からtomlを読み込む
toml形式の文字列から読み込む場合は loads を使う。
obj = toml.loads(''' a = 123 b = "abc" ''') #=> 実行結果 #=> {'a': 123, 'b': 'abc'}
tomlの出力
読み込んだtomlを編集して再出力してみる。
ファイルへの出力はdump、文字列での出力はdumps。
# サンプルデータの読み込み obj = toml.load('settings.toml') # 文字列での出力 toml_str = toml.dumps(obj) print(toml_str) # ファイルへの出力 with open('settings_new.toml', 'wt') as fp: toml.dump(obj, fp)
実行結果
a = 0 b = "hoge" c = "fuga" arr1 = [ 1, 2, 3,] [[arr2]] x = 0 [[arr2]] x = 1 [[arr2]] x = 2 [key] value = "val1" [key1.key2] value = "val2"
改定履歴
Author: Masato Watanabe, Date: 2020-01-27, 記事投稿