Bonjour,
Je cherche depuis des semaines, j'arrive à rien.
Je voudrais enregistrer une classe via tkinter puis la récupérer via tkinter.
Pour du texte simple je fais cela :
Ca fonctionne bien (def foncBoutNewValid(): fonction lancé d'un bouton tkinter et def testRecup() idem)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #Enregistrement du texte "Boujour à tous !" def foncBoutNewValid(): NomFichier = 'test.txt' Fichier = open(NomFichier, 'w') Fichier.write('Bonjour à tous !') Fichier.close() #Lecture du texte "Boujour à tous !" def testRecup(): Fichier = open('test.txt', 'r') chaine = Fichier.read() print(chaine) Fichier.close()
Pour une classe j'ai fait cela :
print(Code01) indique bien la classe crée grâce aux champs ObjNewNom, ObjNewCode et objNewRenseig (objets Entry), ensuite je veux récupérer cette classe :
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 def foncBoutNewValid(): varLog = ObjNewNom.get() varCode = ObjNewCode.get() varRensei = objNewRenseig.get() # Création de l'objet de classe Codes Code01 = Codes(varLog, varCode, varRensei) print(Code01.log, Code01.code, Code01.renseignement) # Enregistrement des données with open("c:/0_Les_Codes/test2.txt", "wb") as fichier: a = pickle.Pickler(fichier) Code01 = Codes(varLog, varCode, varRensei) a.dump(Code01) print(Code01)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 def testRecup(): aa = open("c:/0_Les_Codes/test2.txt", "rb") cc = pickle.Unpickler(aa).load() aa.close() print(Code01)
Ca ne marche pas et je ne trouve pas comment faire ! ça me renvoi : "NameError: name 'Code01' is not defined", j'ai essayé de déclarer Code01 en global un peu partout, rien n'y fait, je ne sais même pas si c'est bien Code01 que je doit mettre dans le print de fin !!???
Si quelqu'un pouvais m'aider ?
Partager