Tips

今日の開発Tips(2025-08-06)

Pythonのコードにおいて、頻繁に変更される可能性のある設定値を、環境変数だけでなく、専用のコンフィグファイルから読み込むことで、環境変数の管理の手間を削減し、設定の変更を容易に行うことができます。コンフィグファイルにはJSONやYAMLなど、扱いやすいフォーマットを使用することが推奨されます。これにより、設定値の変更はコードの変更を伴わず、ファイルの編集だけで済むため、メンテナンス性と柔軟性が向上します。

Pythonにおけるコンフィグファイルからの設定読み込み

Pythonでは、configparserモジュールやjsonモジュール、yamlモジュールなどを利用して、外部ファイルから設定値を読み込むことができます。以下はconfigparserモジュールを使った例です。

import configparser

config = configparser.ConfigParser()
config.read('config.ini')

api_key = config['API']['key']
database_url = config['DATABASE']['url']

print(f"API Key: {api_key}")
print(f"Database URL: {database_url}")

config.iniファイル:

[API]
key = your_api_key

[DATABASE]
url = your_database_url

注意点:

  • config.iniファイルが存在しない場合、config.read()は例外を発生させます。適切な例外処理を追加してください。
  • セキュリティ上の理由から、機密性の高い情報はコンフィグファイルに直接記述せず、環境変数から読み込むなど、より安全な方法を検討しましょう。
  • 設定ファイルのフォーマット(INI, JSON, YAMLなど)に合わせて、適切なモジュールを選択してください。JSONやYAMLを使用する場合は、json.load()yaml.safe_load()を使用します。

おすすめポイント:

  • 環境変数だけでは管理が複雑になるような、多数の設定値を簡単に管理できます。
  • 設定値の変更をコードを修正せずに実施できるため、保守性が向上します。
  • チーム開発において、設定値の変更による誤りを防ぎやすくなります。