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()を使用します。
おすすめポイント:
- 環境変数だけでは管理が複雑になるような、多数の設定値を簡単に管理できます。
- 設定値の変更をコードを修正せずに実施できるため、保守性が向上します。
- チーム開発において、設定値の変更による誤りを防ぎやすくなります。