このモジュールでは, ConfigParserクラスを定義しています。
ConfigParser クラスは,Microsoft Windows の INI ファイルに
見られるような構造をもつ,基礎的な設定ファイルを実装しています.
このモジュールを使って,エンドユーザーが簡単にカスタマイズできるような
Python プログラムを書くことができます。
警告:
このライブラリでは、Windowsのレジストリ用に拡張された INI 文法はサポート
していません。
設定ファイルは 1 つ以上のセクションからなり、セクションは
"[section]" ヘッダとそれに続くRFC 822 形式の
"name: value" エントリからなっています。
"name=value" という形式も使えます。
値の先頭にある空白文字は削除されるので注意してください.
オプションの値には,同じセクションか DEFAULT
セクションに
ある値を参照するような書式化文字列を含めることができます.
初期化時や検索時に別のデフォルト値を与えることもできます.
"#"か";" ではじまる行は無視され,コメントを書く
ために利用できます。
例:
[My Section]
foodir: %(dir)s/whatever
dir=frob
この場合"%(dir)s"は変数"dir" (この場合は"frob")に展開さ
れます。 参照の展開は必要に応じて実行されます。
デフォルト値は
ConfigParserのコンストラクタに辞書として渡すことで設定できます。
追加の(他の値をオーバーライドする)デフォルト値はget()メソッドに
渡すことができます。
class RawConfigParser( |
[defaults]) |
-
基本的な設定オブジェクトです。 defaultsが与えられた場合、オブジェクト
に固有のデフォルト値がその値で初期化されます。
このクラスは値の置換をサポートしません。
バージョン2.3 以降で新規追加された 仕様です。
class ConfigParser( |
[defaults]) |
-
RawConfigParserの派生クラスで値の置換を実装しており、
get()メソッドとitems()メソッドに省略可能な引数を追加し
ています。 defaultsに含まれる値は"%()s"による値の置換に
適当なものである必要があります。
__name__は組み込みのデフォルト値で、セクション名が含まれるので
defaultsで設定してもオーバーライドされます。
class SafeConfigParser( |
[defaults]) |
-
ConfigParserの派生クラスでより安全な値の置換を実装しています。
この実装のはより予測可能性が高くなっています。
新規に書くアプリケーションでは、古いバージョンのPythonと互換性を持たせる
必要がない限り、このバージョンを利用することが望ましいです。
バージョン2.3 以降で新規追加された 仕様です。
- exception NoSectionError
-
指定したセクションが見つからなかった時に起きる例外です。
- exception DuplicateSectionError
-
同じ名前をもつセクションが複数見つかった時や、すでに存在する
セクション名に対して add_section() が呼び出された際に
起きる例外です。
- exception NoOptionError
-
指定したオプションが指定したセクションに存在しなかった時に起きる例外です。
- exception InterpolationError
-
文字列の置換中に問題が起きた時に発生する例外の基底クラスです。
- exception InterpolationDepthError
-
InterpolationErrorの派生クラスで、文字列の置換回数が
MAX_INTERPOLATION_DEPTHを越えたために完了しなかった場合に
発生する例外です。
- exception InterpolationMissingOptionError
-
InterpolationErrorの派生クラスで、値が参照しているオプションが
見つからない場合に発生する例外です。
- exception InterpolationSyntaxError
-
InterpolationErrorの派生クラスで、指定された構文で値を置換
することができなかった場合に発生する例外です。
バージョン2.3 以降で新規追加された 仕様です。
- exception MissingSectionHeaderError
-
セクションヘッダを持たないファイルを構文解析しようとした時に起きる例外です。
- exception ParsingError
-
ファイルの構文解析中にエラーが起きた場合に発生する例外です。
- MAX_INTERPOLATION_DEPTH
-
rawが偽だった場合のget()による再帰的な文字列置換の繰り返
しの最大値です。ConfigParserクラスだけに関係します。
参考資料:
- shlexモジュール:
-
Unix のシェルに似た,アプリケーションの設定ファイル
用フォーマットとして使えるもう一つの小型言語です.
.
Release 2.3.5, documentation updated on 平成17年10月12日.
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。