« Python : Fichiers de config » : différence entre les versions

De Justine's wiki
Aller à la navigation Aller à la recherche
(Page créée avec « =Créer un fichier de config avec le module configparser= Les fichiers de configuration sont gérés par le module configparser. Une fois importer il est assez simple à... »)
 
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
=Créer un fichier de config avec le module configparser=
=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 .ini.
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.  
Nous allons commencer par créer un fichier de configuration de façon programmatique.  


<nowiki>
import configparser
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)


config=configparser.ConfigParser() #Création de l'objet parseur
Ce qui nous donne le fichier suivant:
config['DEFAULT']={'Test': 'yes'} #config[section] = clef:valeur


#Plusieurs clef: valeurs dans une section
[DEFAULT]
config['Section']={'clef1': 'valeur1', 'clef2': 'valeur2'}
test = yes
[Section]
clef1 = valeur1
clef2 = valeur2  
[bitbucket.org]
user = hg
[topsecret.server.com]


#Encore des clefs valeurs
==Lire le contenu du fichier et récupérer les valeurs==
config['bitbucket.org']={}
config['bitbucket.org']['User'] = 'hg'
config['topsecret.server.com'] = {}


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


with open('maconfig.ini', 'w') as configfile:
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.
        config.write(configfile)
</nowiki>

Version du 8 juin 2019 à 20:54

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.