LoginSignup
4
5

More than 3 years have passed since last update.

Pythonでiniファイルを読み込むライブラリ「configparser」

Posted at

Pythonのライブラリ「configparser」について、備忘のために示す。

実行環境

Python 3.7.3
Mac OS 10.15.5

設定ファイル(iniファイル)

iniファイルとは設定ファイルのことで、設定値を "キー=値" の形式で書き記しておき、コードを実行するときに読み込ませて利用するファイルである。

設定ファイルの形式は以下の通り。

[セクション名1]
キー1=値1
キー2=値2
・・・

[セクション名2]
キー3=値3
・・・
・・・

セクション毎に区切り、その中にキーと値の組み合わせを書いていく。
セクションは何個書いても良い。

シェルスクリプトなどでは単純にこのiniファイルを実行すれば値を読み込めるが、Pythonでは専用のライブラリがあり、それが「configparser」である。

configparserモジュール

この設定ファイルに対し、configparserを使って読み込みを行ってみる。

まずは、python内でconfigparserをインポートし、configparserオブジェクトを生成する。

その次に、この変数を使って設定ファイルを読み込む。

import configparser

#ConfigParserオブジェクトを生成
config = configparser.ConfigParser()

#設定ファイル読み込み
config.read('iniファイルのパス')


設定ファイルを読み込むと、変数には設定ファイルの内容が入る。

例として、以下のような設定ファイル(test.ini)があったとする。

test.ini
[KEY-VALUES]
KEY1=VALUE1
KEY2=VALUE2
KEY3=VALUE3

[TEST]
TEST_KEY1=TEST_VALUE1
TEST_KEY2=TEST_VALUE2
TEST_KEY3=TEST_VALUE3

このファイルをpythonで読込む。(test.iniと同じフォルダで実行)

>>> import configparser
>>> config = configparser.ConfigParser()
>>> config.read('test.ini')

すると、設定ファイルの内容が変数に"ConfigParser"クラスのオブジェクトとして入る。

>>> type(config)
#<class 'configparser.ConfigParser'>

このConfigparserオブジェクトから設定ファイルの具体的な内容を取り出す方法についてだが、
辞書と同じ様に

configparserオブジェクト[セクション名][キー名]

の形式で取り出せる。
また、関数sections()でセクションのリストを表示できる。使用例は以下の通り。

>>> #セクション名のリスト
>>> config.sections()
['KEY-VALUES', 'TEST']
>>> 
>>> #値の取り出し
>>> config['KEY-VALUES']['KEY1']
'VALUE1'
>>> 
>>> config['TEST']['TEST_KEY1']
'TEST_VALUE1'
>>> 
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5