0

を使用SafeConfigParserしています。構成ファイルには[DEFAULT]セクションが含まれており、以下のコードを使用してその部分を抽出しています。

parser = SafeConfigParser(allow_no_value=True)
parser.optionxform = str  # makes names case sensitive
defaultAttributesDic = parser.defaults()

ただし、私のDEFAULTセクションには次のような補間値が含まれています。

A= 10000
B= %(A)s

しかし問題はdefaults()、実際の生の値 (補間された値ではない) を返すことです。何故ですか?それはいつ役に立ちますか?この決定の背後にある理由がわからないのですか?

私はparser.items(section)他のセクションを読むために使用していますが、それはうまくいきます。値は補間されて返されます。スキップして代わりにdefaults使用する必要がありますか? items("DEFAULT")これを説明してください。

4

1 に答える 1

1

defaults()は、補間をサポートしないRawConfigParserから継承されたメソッドです。

「通常の」セクションとして「悪用」[DEFAULT]しようとするのではなく、他のセクションのデフォルトを提供するためにセクションを予約する必要があると思います。セクションには特別な意味があり、やなどのメソッドには含まれていません。[DEFAULT]sections()has_section()

「デフォルト」セクションが必要な場合は、以外の名前を付けてDEFAULTください。

于 2012-10-26T12:45:04.850 に答える