Pythonでの設定ファイルのベストプラクティス
Pythonで設定ファイルを書く際の個人的ベストプラクティスです。
結論
- 標準ライブラリで完結させるならTOML
- 外部ライブラリを許容するならYAMLかJSON5
詳細
INI
- Windowsの設定ファイルで使われるINI形式に似た形式
- 標準ライブラリで扱える(configparser)
- リストが書けない
XML
- 標準ライブラリで扱える(xml.etree.ElementTree)
- 毎回タグを書くのが面倒
JSON
- 標準ライブラリで扱える(json)
- コメントが書けない
JSONC
- コメントが書けるJSON
- 外部ライブラリで扱える(jsonc-parser)
JSON5
- コメントが書けるJSON
- コメント以外にも、JSONの様々な問題点を解決している
- 外部ライブラリで扱える(json5)
YAML
- 外部ライブラリで扱える(pyyaml)
TOML
- 標準ライブラリで扱える(tomllib)