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