Pythonで設定ファイルから値の読み込み (ConfigParser)
スポンサードリンク
この記事はちょっと古いので書き直しました。
lake-michigan.hatenablog.com
目下Python手習い中。
ある日、複数存在する設定ファイル(運用中にファイル数も値の数も変わる)から、全部の値を読み込むスクリプトが欲しいと思いました。
- シェルスクリプト => できなくはなさそうだけどめっちゃめんどくさそう
- Perl => Config::Simple がぴったりけど、環境的に追加モジュールは使いたくない
- Python => デフォルトで使えるConfigParserってのがよさげ
ということで、シンプルにできそうなPythonを採用。
こんな感じで、セクションごとに設定値を用意(特に意味はない)。
- setting.prop
[person] name=Hanako Yamada age=20 school=KEIO host=192.168.10.12 [school] name=KEIO location=Mita
キーとバリューの区切り文字は、":"でも読み込んでくれる。
さて、セクションごと, キーごとに、値を取得していきます。
- readConfig.py
import ConfigParser config = ConfigParser.SafeConfigParser() config.read('setting.prop') for section in config.sections(): print "<", section, ">" for option in config.options(section): print config.get(section, option)
- 出力結果
< person >
host 192.168.10.12
school KEIO
age 20
name Hanako Yamada< school >
name KEIO
location Mita
わーい。標準でいろんなモジュールが使えるのが素敵です。