App.configによる初期データの読み込み」で、C#言語により初期設定ファイルを読み込みましたが、Python言語では、設定ファイルを読み込むために、ConfigParserモジュールが提供されています。今回は、ConfigParserモジュールを使用して設定ファイルを読み込みます。

設定ファイルの作成

設定ファイル「setting.conf」は次のように作成します。

  • セクション、キー、キー項目(プロパティ)から構成されます。
  • セクションを「 [] 」(大カッコ)で囲みます。セクション配下に「キー=プロパティ」もしくは「キー:プロパティ」という書式で記述します。
  • コメントは「#」を使用します。
  • 設定ファイル内に日本語(マルチバイト文字列)を含む場合は、UTF-8 で保存します。
# メールのデータ定義
[MAIL]
mail_address = info@tomosoft.jp
count = 1024

#システムのデータ定義
[SYSTEM]
url_address = https://tomosoft.jp/design
message = こんにちはTomoSoftです

設定ファイル読み込みプログラムの作成

作成した設定ファイル読み込みプログラム「configdemo.py」を次に示します。

  • Python 2.7用の設定ファイル読み込みプログラムです(Python3では少し変わります)。
  • 設定ファイルの値はすべて文字列として扱われます。整数として読み込む場合は config.getinit() を使います。
  • 各アイテムに辞書形式でアクセスする場合はdictで包みます。
# -*- coding: utf-8 -*-

import ConfigParser


def show_config(ini):
    for section in ini.sections():
        print '[%s]' % section
        for key in ini.options(section):
            print '%s.%s =%s' % (section, key, ini.get(section, key))
    return


# 設定ファイル読み込み
conf = ConfigParser.SafeConfigParser()
conf.read('setting.conf')

show_config(conf)
count = conf.getint('MAIL', 'count') + 1
print count
dic = dict(conf.items("MAIL"))
print dic

設定ファイル読み込みプログラムの実行

作成した設定ファイル読み込みプログラム「configdemo.py」を実行すると次の結果が表示されます。

  • 設定ファイルから入力した値に、「1」加算されて「1025」となっています。
  • セッション「MAIL」が、キーとプロパティにより辞書形式になっています。
$ python configdemo.py
[MAIL]
MAIL.mail_address =info@tomosoft.jp
MAIL.count =1024
[SYSTEM]
SYSTEM.url_address =https://tomosoft.jp/design
SYSTEM.message =こんにちはTomoSoftです
1025
{'count': '1024', 'mail_address': 'info@tomosoft.jp'}