このモジュールでは, ConfigParserクラスを定義しています。 ConfigParser クラスは,Microsoft Windows の INI ファイルに 見られるような構造をもつ,基礎的な設定ファイルを実装しています. このモジュールを使って,エンドユーザーが簡単にカスタマイズできるような Python プログラムを書くことができます。
設定ファイルは 1 つ以上のセクションからなり、セクションは
"[section]" ヘッダとそれに続くRFC 822 形式の
"name: value" エントリからなっています。
"name=value" という形式も使えます。
値の先頭にある空白文字は削除されるので注意してください.
オプションの値には,同じセクションか DEFAULT
セクションに
ある値を参照するような書式化文字列を含めることができます.
初期化時や検索時に別のデフォルト値を与えることもできます.
"#"か";" ではじまる行は無視され,コメントを書く
ために利用できます。
例:
[My Section] foodir: %(dir)s/whatever dir=frob
この場合"%(dir)s"は変数"dir" (この場合は"frob")に展開さ れます。 参照の展開は必要に応じて実行されます。
デフォルト値は ConfigParserのコンストラクタに辞書として渡すことで設定できます。 追加の(他の値をオーバーライドする)デフォルト値はget()メソッドに 渡すことができます。
[defaults]) |
[defaults]) |
RawConfigParserの派生クラスで値の置換を実装しており、 get()メソッドとitems()メソッドに省略可能な引数を追加し ています。 defaultsに含まれる値は"%()s"による値の置換に 適当なものである必要があります。 __name__は組み込みのデフォルト値で、セクション名が含まれるので defaultsで設定してもオーバーライドされます。
置換で使われるすべてのオプション名は、ほかのオプション名への参照と同様に optionxform() メソッドを介して渡されます。たとえば、 optionxform() のデフォルト実装 (これはオプション名を小文字に変換します) を 使うと、値 "foo %(bar)s" および "foo %(BAR)s" は同一になります。
[defaults]) |
ConfigParserの派生クラスでより安全な値の置換を実装しています。 この実装のはより予測可能性が高くなっています。 新規に書くアプリケーションでは、古いバージョンのPythonと互換性を持たせる 必要がない限り、このバージョンを利用することが望ましいです。 バージョン 2.3 で 新たに追加 された仕様です。
すでに存在するセクション名に対して add_section() が 呼び出された際に起きる例外です。
参考: