私は単純な構成のためにかなり長い間 ConfigParser を使用してきました。長い間私を悩ませてきたのは、DEFAULT セクションです。何が適切な使用法なのかよくわかりません。私はドキュメントを読みましたが、その使用方法のいくつかの巧妙な例と、それがファイル内の他のセクションにどのように影響するか (可能なことの種類を実際に示しているもの) を見たいと思っています。
Jeremy Cantrell
質問する
12059 次
1 に答える
53
「windows ini」「デフォルトセクション」をグーグルで検索すると、ここで説明が見つかりました。要約: [DEFAULT] セクションに入力した内容は、他のすべてのセクションに反映されます。リンクされた Web サイトの例を使用して、test1.ini という構成ファイルがあるとします。
[host 1]
lh_server=192.168.0.1
vh_hosts = PloneSite1:8080
lh_root = PloneSite1
[host 2]
lh_server=192.168.0.1
vh_hosts = PloneSite2:8080
lh_root = PloneSite2
ConfigParser を使用してこれを読み取ることができます。
>>> cp = ConfigParser.ConfigParser()
>>> cp.read('test1.ini')
['test1.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
しかし、両方のセクションで lh_server が同じであることに気付きました。実際、追加するほとんどのホストで同じになることはわかっています。したがって、test2.ini としてこれを行うことができます。
[DEFAULT]
lh_server=192.168.0.1
[host 1]
vh_root = PloneSite1
lh_root = PloneSite1
[host 2]
vh_root = PloneSite2
lh_root = PloneSite2
セクションに lh_server キーがないにもかかわらず、アクセスできます。
>>> cp.read('test2.ini')
['test2.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
DEFAULT セクションで変数置換を使用して INI ファイルをさらに単純化する例については、リンク先のページを参照してください。
于 2008-09-24T00:49:13.460 に答える