Le configurateur de [python] python peut être meilleur que la gestion des paramètres avec yaml

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

Recommended Posts

Le configurateur de [python] python peut être meilleur que la gestion des paramètres avec yaml
Si vous écrivez un test piloté par table go en python, il peut être préférable d'utiliser subTest
Golang vs Python - Golang est-il meilleur que Python?