1. A propos de la méthode default() du module configparser
La méthode defaults()
de la classe ConfigParser
en Python retourne un dictionnaire contenant les paires clé-valeur définies dans la section spéciale DEFAULT
. Contrairement aux sections classiques, ces valeurs par défaut sont accessibles dans toutes les autres sections de la configuration, même si elles ne sont pas explicitement redéfinies. Le dictionnaire renvoyé est en lecture seule : toute tentative de modification directe lèvera une TypeError
. Pour modifier ces valeurs, il faut passer par les méthodes dédiées comme set()
sur la section DEFAULT
. Cette fonctionnalité est particulièrement utile pour définir des paramètres globaux (comme des chemins d'accès ou des options communes) partagés entre plusieurs sections. La méthode ne prend aucun paramètre et conserve les valeurs même après l'ajout ou la suppression d'autres sections. Notez que les clés du dictionnaire sont toujours converties en minuscules (comportement par défaut de ConfigParser
), et que ces valeurs par défaut n'apparaissent pas dans les méthodes d'itération standard comme sections()
.
2. Exemples d'usage de la méthode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import configparser # Étape 1: Création et sauvegarde d'un fichier .ini config = configparser.ConfigParser() config['DEFAULT'] = { 'LogLevel': 'DEBUG', # Valeur par défaut 'Timeout': '30' } config['Database'] = {} # Section vide (hérite de DEFAULT) with open('config.ini', 'w') as f: config.write(f) # Écriture physique du fichier # Étape 2: Lecture et utilisation loaded_config = configparser.ConfigParser() loaded_config.read('config.ini') # Charge le fichier # Récupère les valeurs DEFAULT print("Paramètres globaux:", loaded_config.defaults()) # {'loglevel': 'DEBUG', 'timeout': '30'} # Preuve que Database hérite de DEFAULT print("Timeout DB:", loaded_config['Database']['timeout']) # Affiche '30' (héritage) |
Younes Derfoufi
CRMEF OUJDA