C'est le contenu de configparser de la bibliothèque standard python.
configparser peut écrire des options qui dépendent de certaines options. Vous pouvez également remplir les dépendances ultérieurement.
Avec ce seul point, il peut être plus pratique d'écrire le fichier de configuration en json et json.load ()
, ou d'écrire le fichier de configuration en yaml et yaml.load ()
.
Plus précisément, le code suivant fonctionne.
Il existe un fichier de configuration (config.ini) comme celui ci-dessous
[DEFAULT]
here = /foo/bar/boo
app = %(here)s/app%(suffix)s
La section DEFAULT propose des options pour ici et pour l'application. Ici, l'application dépend d'ici, suffixe. De plus, l'option suffixe n'est pas mentionnée dans le fichier de configuration.
from configparser import ConfigParser
parser = ConfigParser(default_section="DEFAULT")
with open("config.ini") as inp
parser.readfp(inp)
parser["DEFAULT"]["suffix"] = ".py"
Ici, j'ai la valeur de l'option d'application qui dépend du suffixe.
print(parser["DEFAULT"]["app"]) # /foo/bar/boo/app.py