Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/11/2014, à 15:29

Hizoka

[resolu] [Python3] Création de dictionnaire

Bonjour,

j'étais en train de travailler un peu en python et j'utilisais un dictionnaire en imbriquant d'autres puis je remplissais les sous dictionnaires.
Cela avait pour but de sauvegarder ces valeurs dans un fichier de config

Config = configparser.ConfigParser()

Config = {"ENTRY" : {},
"TEXTVIEW" : {},
"SPIN" : {},
"TOGGLE" : {},
"COMBO" : {}}

# Remplissage

with self.ConfigFile.open('w') as file:
  Config.write(file)

Mais cela me renvoye une erreur :

Traceback (most recent call last):
  File "Screencastor.py", line 318, in closeEvent
    Config.write(file)
AttributeError: 'dict' object has no attribute 'write'

Mais en utilisant le systeme suivant :

Config = configparser.ConfigParser()

Config["ENTRY"] = {}
Config["TEXTVIEW"] = {}
Config["SPIN"] = {}
Config["TOGGLE"] = {}
Config["COMBO"] = {}

# Remplissage

with self.ConfigFile.open('w') as file:
  Config.write(file)

et là plus rien ne pose soucis.


D'ou ma question, quelle est la différence dans la création de ce dictionnaire :

Config["ENTRY"] = {}
Config["TEXTVIEW"] = {}
Config["SPIN"] = {}
Config["TOGGLE"] = {}
Config["COMBO"] = {}
Config = {"ENTRY" : {},
"TEXTVIEW" : {},
"SPIN" : {},
"TOGGLE" : {},
"COMBO" : {}}

Merci à vous wink

Dernière modification par Hizoka (Le 14/11/2014, à 17:13)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#2 Le 14/11/2014, à 15:49

pingouinux

Re : [resolu] [Python3] Création de dictionnaire

Bonjour,

Config = configparser.ConfigParser()

Config = {"ENTRY" : {},......}

La première définition de Config est ici remplacée par le dictionnaire, qui n'a pas d'attribut write.

Config = configparser.ConfigParser()

Config["ENTRY"] = {}
.................

Ici, tu complètes la définition initiale, dont j'ignore le type, mais qui accepte cet opérateur [ ].

Hors ligne

#3 Le 14/11/2014, à 17:13

Hizoka

Re : [resolu] [Python3] Création de dictionnaire

pfff... ch'uis trop nul....

bien vu, merci smile

juste pour info : <class 'configparser.ConfigParser'>


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#4 Le 14/11/2014, à 21:15

tiramiseb

Re : [resolu] [Python3] Création de dictionnaire

Salut,

Tu peux faire la chose suivante, sinon :

Config = configparser.ConfigParser()
Config.read_dict({"ENTRY" : {},
"TEXTVIEW" : {},
"SPIN" : {},
"TOGGLE" : {},
"COMBO" : {}})

Hors ligne

#5 Le 15/11/2014, à 00:43

Hizoka

Re : [resolu] [Python3] Création de dictionnaire

tiens, je ne connaissais pas cette façon de faire.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#6 Le 15/11/2014, à 08:25

tiramiseb

Re : [resolu] [Python3] Création de dictionnaire

Moi non plus, mais je me suis dit que ça devait être possible, quand même, alors j'ai lui la doc de ConfigParser...

Hors ligne