【configparser】別セクションの値を使う
4787 ワード
はじめに
ini
ファイルで設定値を作成してみた。
そこでappDir
で定義した値を他のところでも使いたいと思って、↓のような感じで作ったらエラーになった。
iniファイル
[base]
appDir=D:\Develop
[api]
downloadDir=%(appDir)s\download
iniファイル読み込み
from configparser import ConfigParser
config = ConfigParser()
config.read("config/app.ini")
print(config["api"]["downloadDir"])
エラー内容
configparser.InterpolationMissingOptionError: Bad value substitution
解決方法
別セクションで定義した値を使いたい場合は、ExtendedInterpolation
を使う
変更後iniファイル
[base]
appDir=D:\Develop
[api]
downloadDir=${base:appDir}\download
ExtendedInterpolationを使う
from configparser import ConfigParser, ExtendedInterpolation
config = ConfigParser(interpolation=ExtendedInterpolation())
config.read("config/app.ini")
print(config["api"]["downloadDir"])
結果
D:\Develop\download
Author And Source
この問題について(【configparser】別セクションの値を使う), 我々は、より多くの情報をここで見つけました https://zenn.dev/re24_1986/articles/6af99fceda1b24著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol