Je ne me soucie pas si c'est JSON
, pickle
, YAML
ou autre chose.
Toutes les autres implémentations que j'ai vues ne sont pas compatibles en aval, donc si j'ai un fichier de configuration, ajoutez une nouvelle clé dans le code, puis chargez ce fichier de configuration, il plantera simplement.
Existe-t-il un moyen simple de le faire?
.ini
format similaire duconfigparser
module devrait faire ce que vous voulez.Réponses:
Fichiers de configuration en python
Il existe plusieurs façons de procéder selon le format de fichier requis.
ConfigParser [format .ini]
J'utiliserais l' approche standard du configparser à moins qu'il n'y ait des raisons impérieuses d'utiliser un format différent.
Écrivez un fichier comme ceci:
Le format de fichier est très simple avec des sections marquées entre crochets:
Les valeurs peuvent être extraites du fichier comme ceci:
JSON [format .json]
Les données JSON peuvent être très complexes et ont l'avantage d'être hautement portables.
Ecrire des données dans un fichier:
Lire les données d'un fichier:
YAML
Un exemple de base YAML est fourni dans cette réponse . Plus de détails peuvent être trouvés sur le site Web de pyYAML .
la source
from configparser import ConfigParser
config = ConfigParser()
Exemple de ConfigParser Basic
Le fichier peut être chargé et utilisé comme ceci:
quelles sorties
Comme vous pouvez le voir, vous pouvez utiliser un format de données standard facile à lire et à écrire. Des méthodes comme getboolean et getint vous permettent d'obtenir le type de données au lieu d'une simple chaîne.
Configuration d'écriture
résulte en
Exemple XML Basic
Semble ne pas être utilisé du tout pour les fichiers de configuration par la communauté Python. Cependant, l'analyse / l'écriture de XML est facile et il existe de nombreuses possibilités pour le faire avec Python. L'un est BeautifulSoup:
où le config.xml pourrait ressembler à ceci
la source
Si vous souhaitez utiliser quelque chose comme un fichier INI pour conserver les paramètres, envisagez d'utiliser configparser qui charge les paires clé / valeur à partir d'un fichier texte et peut facilement réécrire dans le fichier.
Le fichier INI a le format:
la source
Enregistrez et chargez un dictionnaire. Vous aurez des clés, des valeurs et un nombre arbitraire de paires de clés et de valeurs arbitraires.
la source
Essayez d'utiliser ReadSettings :
la source
essayez d'utiliser cfg4py :
AVERTISSEMENT: je suis l'auteur de ce module
la source