1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| # -*- coding: utf-8 -*-
"""
Charge et sauve le contenu d'un fichier de type .ini sous la forme d'un
dictionnaire de dictionnaires (OrderedDict) en mémoire
"""
from configparser import ConfigParser
from collections import OrderedDict
#############################################################################
def chargini(ficini, encodage="utf-8"):
"""Charge le contenu du fichier ficini (type .ini) avec l'encodage donné
Retourne le dictionnaire de dictionnaires (OrderedDict) des données
"""
cfg = ConfigParser(interpolation=None)
with open(ficini, 'r', encoding=encodage) as fsrce:
cfg.read_file(fsrce)
dicini = OrderedDict()
for section in cfg.sections():
dicini[section] = OrderedDict()
for option, valeur in cfg.items(section):
dicini[section][option] = valeur
return dicini
#############################################################################
def sauvini(dicini, ficini, encodage="utf-8"):
"""Sauve le dictionnaire de dictionnaires (OrderedDict) dicini dans le
fichier ficini avec l'encodage donné
"""
cfg = ConfigParser(interpolation=None)
cfg.read_dict(dicini, source='<OrderedDict>')
with open(ficini, 'w', encoding=encodage) as fdest:
cfg.write(fdest) |