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)

参考