Bonsoir,
Une petite question concernant le module configparser, j'ai un fichier de config que je dois lire, ca j'y arrive très bien, par contre, je dois y modifier une valeur et la sauvegarder.
Si j'ai bien compris ce module ne fonctionne pas de la même façon que le module "inifiles" sous delphi, il ne garde pas en mémoire le fichier après un config.read() par exemple, je ne peux pas simplement modifier une clef et le réécrire avec un ".write()"
Il faut donc réécrire toutes les valeurs avant de le sauvegarder, soit, dans ma première version j'ai essayé de réécrire directement sur "config", mais lors de l'execution, python me disait que la section "Style" était déjà existante, bon allons, je me dis, je créé un deuxième module vierge (config1) dans lequel je vais créer mes sections et y recopier mes valeurs avant d'enregistrer le fichier, mais j'ai des erreurs comme quoi la variable n'est pas un string.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #recupe configuration try: config = configparser.SafeConfigParser() config1 = configparser.SafeConfigParser() config1.read('gomails.cfg') except: messagebox.showerror("Attention", "Arret programme fichier gomails.cfg introuvable") sys.exit() try: repertoire = config1['Fichier']['chemin'] adresse_serveur = config1['Serveur']['SAdresse'] port = config1['Serveur']['port'] Tmax = config1['Serveur']['taillemax'] user = config1['Emetteur']['EAdresse'] name = config1['Style']['Entete'] except: messagebox.showerror("Attention", "Arret programme fichier gomails.cfg mal formate ou introuvable") sys.exit()
J'essaye donc de les convertir au moyen de "srt()" mais ca ne fonctionne pas non plus.
Ou est ce que ca cloche, dans ma déclaration des variables, si je prend un item d'un tableau normalement ca me le ressort pas en un string d'office ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 config.add_section('Fichier') config.add_section('Serveur') config.add_section('Style') config.add_section('Emetteur') config.set('Style', 'test', 'Tesdfsghsfghsfghjsfghjsfgjsfjsghjs') config.set('Fichier', 'chemin', str(repertoire)) config.set('Serveur', 'SAdresse', str(adresse_serveur)) config.set('Serveur', 'port', str(port)) config.set('Serveur', 'taillemax', str(Tmax)) config.set('Emetteur', 'EAdresse', str(user)) config.set('Style', 'Entete', str(name)) with open('gomails.cfg', 'wb') as conf_file: config.write(conf_file)
Merci
David
Partager