PythonでConfigParserを使用しています
config.ini は
[general]
name: my_name
base_dir: /home/myhome/exp
exe_dir: ${base_dir}/bin
ここで私はexp_dir
なり/home/myhome/exp/bin
ません${base_dir}/bin
。
${base_dir}
に置き換えられることを意味し/home/myhome/exp automatically
ます。
PythonでConfigParserを使用しています
config.ini は
[general]
name: my_name
base_dir: /home/myhome/exp
exe_dir: ${base_dir}/bin
ここで私はexp_dir
なり/home/myhome/exp/bin
ません${base_dir}/bin
。
${base_dir}
に置き換えられることを意味し/home/myhome/exp automatically
ます。
ConfigParser補間を使用できます
コア機能に加えて、SafeConfigParser は補間をサポートしています。これは、同じセクション内の他の値、または特別な DEFAULT セクション内の値を参照するフォーマット文字列を値に含めることができることを意味します。初期化時に追加のデフォルトを指定できます。
例えば:
[My Section] foodir: %(dir)s/whatever dir=frob long: this value continues in the next line
%(dir)s を dir の値に解決します (この場合は frob)。すべての参照展開はオンデマンドで行われます。
あなたの例は次のようになります。
[general]
name: my_name
base_dir: /home/myhome/exp
exe_dir: %(base_dir)s/bin
「${foo}」の代わりに「%(foo)s」と書きます。( http://docs.python.org/library/configparser.htmlを参照し、「補間」を検索してください。これは、通常の ConfigParser または SafeConfigParser のいずれかで機能します。)
Python 3 では、 を使用でき${base_dir}/bin
、拡張補間により、他のセクションの変数を使用できます。例:
[Common]
home_dir: /Users
library_dir: /Library
system_dir: /System
macports_dir: /opt/local
[Frameworks]
Python: 3.2
path: ${Common:system_dir}/Library/Frameworks/
[Arthur]
nickname: Two Sheds
last_name: Jackson
my_dir: ${Common:home_dir}/twosheds
my_pictures: ${my_dir}/Pictures
python_dir: ${Frameworks:path}/Python/Versions/${Frameworks:Python}