2010-11-05 19 views
2

Dans mon projet, nous utilisons un fichier de configuration analysé avec le module configparser. Est-il possible de mettre en cache l'ensemble du fichier de configuration, puis d'utiliser les méthodes configparser pour le lire dans la mémoire? J'espère ne pas avoir à simplement stocker les variables de configuration dans un dictionnaire et les chercher de cette façon, car l'utilisation du configparser est très étroitement liée à beaucoup de notre application et j'espère que je peux juste changer où se trouve la config pour pointer vers la mémoire au lieu d'un nom de fichier. Est-ce possible?Cache d'analyseur python config pour réduire les E/S sur un système embarqué

Répondre

4

Oui. Si vous utilisez le module StringIO, vous pouvez créer un objet de type fichier en mémoire.

Ensuite, vous pouvez utiliser la méthode (ConfigParser hérite de RawConfigParser):

RawConfigParser.readfp (fp [, nom de fichier]) Lire et analyser les données de configuration à partir du fichier ou de l'objet comme fichier fp (seule la méthode readline() est utilisée). Si filename est omis et que fp a un attribut name, cela est utilisé pour filename; la valeur par défaut est.