pythonのConfigParserによる設定ファイルの入力

ConfigParserによる設定ファイル(例えばini)を入力し、各種key/valueの設定値を取得する。
confディレクトリの下にあるiniファイルを全て読み、そのsection、itemを表示する。

test_getconf.py
#!/usr/local/bin/python

import sys, os, array
import glob
import ConfigParser

def main (argv, environ):
    #print "*** argv=[%s]" % (argv[1])

    conf_dir   = "./conf"

    if (not os.path.exists(conf_dir)) :
        print "*** FILE_CONF(%s) not found.\n" % (FILE_CONF)
        return

    conf_files = glob.glob (conf_dir + '/*.ini')
    conf = ConfigParser.SafeConfigParser ()
    for conf_file in conf_files :
        print "    conf_file=[%s]" % (conf_file)
        conf.read(conf_file)

    for sections in conf.sections() :
        print "    section=[%s]" % (sections)

        #print "    %s" % (conf.items(sections))
        items = conf.items(sections)
        for item in items :
            print "        item:key=[%s] val=[%s]" % (item[0],item[1])

    print ""
    print "    setting3.val2=[%s]" % (conf.get('setting3', 'key2'))

if __name__ == "__main__":
    print "*** start %s" % sys.argv[0]
    main (sys.argv, os.environ)
    print "*** end   %s" % sys.argv[0]
設定ファイル test1.ini
[setting1]
key1 = setting1_val1
key2 = setting1_val2

[setting2]
key1 = setting2_val1
ley2 = setting2_val2
test2.ini
[setting3]
key1 = setting3_val1
key2 = setting3_val2

[setting4]
key1 = setting4_val1
key2 = setting4_val2
実行結果
$ ./test_getconf.py
*** start ./test_getconf.py
    conf_file=[./conf/test2.ini]
    conf_file=[./conf/test1.ini]
    section=[setting4]
        item:key=[key1] val=[setting4_val1]
        item:key=[key2] val=[setting4_val2]
    section=[setting1]
        item:key=[key1] val=[setting1_val1]
        item:key=[key2] val=[setting1_val2]
    section=[setting2]
        item:key=[ley2] val=[setting2_val2]
        item:key=[key1] val=[setting2_val1]
    section=[setting3]
        item:key=[key1] val=[setting3_val1]
        item:key=[key2] val=[setting3_val2]

    setting3.val2=[setting3_val2]
*** end   ./test_getconf.py
関連記事

Comment

(編集・削除用)
管理者にだけ表示を許可

Trackback

URL
https://nosource.blog.fc2.com/tb.php/38-9972fa47
この記事にトラックバック(FC2Blog User)

カテゴリ

Amazon

アクセスランキング

[ジャンルランキング]
コンピュータ
261位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
47位
アクセスランキングを見る>>

RSSリンクの表示

ブロとも申請フォーム

Copyright © nopgm