Python : Fichiers de config
Utiliser un fichier de config avec le module configparser
Ecrire un fichier de config
Les fichiers de configuration sont gérés par le module configparser. Une fois importer il est assez simple à utiliser : il fonctionne avec des sections et stocke des clef : valeur dans un fichier similaire aux .ini de chez Microsoft.
Nous allons commencer par créer un fichier de configuration de façon programmatique.
import configparser config=configparser.ConfigParser() #Création de l'objet parseur config['DEFAULT']={'Test': 'yes'} #config[section] = clef:valeur #Plusieurs clef: valeurs dans une section config['Section']={'clef1': 'valeur1', 'clef2': 'valeur2'} #Encore des clefs valeurs config['bitbucket.org']={} config['bitbucket.org']['User'] = 'hg' config['topsecret.server.com'] = {} with open('maconfig.ini', 'w') as configfile: config.write(configfile)
Ce qui nous donne le fichier suivant:
[DEFAULT] test = yes [Section] clef1 = valeur1 clef2 = valeur2 [bitbucket.org] user = hg [topsecret.server.com]
Lire le contenu du fichier et récupérer les valeurs
Maintenant que nous avons notre fichier de config, on peut récupérer ses valeurs et utiliser les variables. Attention, les variables récupérées ne sont pas typées mais stockées sous la forme de str.
>>> import configparser >>> config=configparser.ConfigParser() >>> config.sections() [] >>> config.read('maconfig.ini') ['maconfig.ini'] >>> config.sections() ['Section', 'bitbucket.org', 'topsecret.server.com'] >>> 'coucou.fr' in config False >>> config['DEFAULT']['test'] 'yes' >>> for key in config: ... print(key) ... DEFAULT Section bitbucket.org topsecret.server.com >>> for key in config['DEFAULT']: ... print(key) ... test
Cela n'as rien de très complexe. Il faut surtout noter queles clefs sont toujours en minuscules, et que la section DEFAULT stocke les valeurs par défaut pour toutes les autres sections.