この記事は?
ちょっと、PythonでTOMLファイルを編集したいことがあったので、その方法についてメモ。
TOMLとは?
こちらの記事がわかりやすいと思います。
簡単にいうと、設定ファイル記述言語で、yamlとかJSONとかの類です。
少し触った程度ですが、yamlよりもシンプルで見やすいと思います。
やりかた
簡単なTOMLファイルを用意します。
[table]
key = "value"
[table.subtable]
key = "another value"
ライブラリのインストール
TOMLのライブラリはまだPythonの標準ライブラリなどには含まれていないので、pip
などでインストールします。
こちらのライブラリを使用します。
インストールコマンドはこんな感じ
pip install toml
TOMLファイルの読み込み
ライブラリが入ると後は簡単にできます。
import toml
dict_toml = toml.load(open('example.toml'))
print(dict_toml)
組み込み関数のopen
でtomlファイルを開きtoml.load
で読み込んで、tomlファイルの中身を辞書型にして返しています。
実行結果は以下
{'table': {'key': 'value', 'subtable': {'key': 'another value'}}}
辞書型なので、keyを指定することでvalueを取得できます。
import toml
dict_toml = toml.load(open('example.toml'))
print(dict_toml['table']['key'])
# 出力
# value
TOMLファイルの書き換え
書き換えもできます。
例えば、subtable
のanother value
をsubtable value
と変えたい場合は以下のようになります。
import toml
dict_toml = toml.load(open('example.toml'))
dict_toml['table']['subtable']['key'] = "subtable value"
toml.dump(dict_toml, open('example.toml', mode='w'))
一度、example.toml
を読み込んで、dict_toml['table']['subtable']['key'] = "subtable value"
で値を書き換えて、再び組み込み関数のopen
でexample.toml
を今度は書き込みモードで開いて、toml.dump
を使って書き込んでいます。
これを実行した後のexample.toml
はこんな感じになっています。
[table]
key = "value"
[table.subtable]
key = "subtable value"
ちゃんと書き換わっていますね。
終わりに
こんな感じでTOMLファイルの編集が簡単にできました。
機会があれば使ってみてください。
以上