「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'}