【Python】configparserを使って.iniファイルから設定を呼び出そう
公式ドキュメントはこちら
環境
python 3.6.6
iniファイルを書こう
config.ini
[load_type] type = csv [setting] csv_file_path = test.csv
pythonの準備
import configparser
標準モジュールのconfigparser
をimportする
config_file = configparser.ConfigParser()
インスタンスを作成する
config_file.read('./config.ini')
ini
ファイルはこのようにパスを指定してあげる。
iniファイルを読み込む
print(config_file.get('load_type', 'type'))
とすると
'csv'
が返ってきます。
これはconfig.ini
の
[load_type] type = csv
を読み込んでいるからです。
なお、config_file['load_type']['type']
として取得するケースも見受けられるけど、python3.7以上からみたいです。
iniファイルに環境変数を入れる
[load_type] type = mysql [setting] host = %(MYSQL_IPADDR)s
環境変数を使うなら%(環境変数名)s
とする必要がある。
%(環境変数名)s "sまで必要"
python側ではconfigparserのインスタンス作成時にos.environ
を引数に入れる。
import configparser import os config_file = configparser.ConfigParser(os.environ)
そうして、以下のように呼ぶ
config_file.read('./config.ini') print(config_file.get('setting', 'host'))
実行してみると
root@:/var/sandbox# export MYSQL_IPADDR=127.0.0.1 root@:/var/sandbox# echo $MYSQL_IPADDR 127.0.0.1 root@:/var/sandbox# python conf_test.py 127.0.0.1