Bonjour à tous,

Je suis encore débutant en python et je me pose encore des questions, si quelqu'un peut m'éclairer ?
J'ai fait 2 petits scripts pour reproduire les cas : J'ai un capteur dont je lis sa mémoire et j'enregistre les résultats

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from tkinter import tix, Frame,Button,Label,Entry, Listbox, Radiobutton, IntVar
 
class Capteur(Frame):
 
    def __init__(self,parent):
        Frame.__init__(self, parent,bd=8)
        self.registre1 = 0
        self.registre2 = 0
        self.registre3 = 0
 
        self.b1 = Button(self, text="lecture_des_registres",command = self.lecture_des_registres)
        self.b1.grid(row=1, column=0)
        self.b2 = Button(self, text="enregistrement_des_registres",command = self.enregistrement_des_registres)
        self.b2.grid(row=1, column=1)
 
    def lecture_des_registres(self):
        print("lecture")
        self.registre1 = 8
        self.registre2 = 88
        self.registre3 = 888
 
 
    def enregistrement_des_registres(self):
        print("ecriture")
        with open("resultat.csv", "a") as fichier:
                fichier.write(str(self.registre1)+','+str(self.registre2)+','+str(self.registre3)+'\n')    
 
 
if __name__=="__main__":
 
    app = tix.Tk()
    appareil = Capteur(app)
    appareil.grid()
    app.mainloop()
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from tkinter import tix, Frame,Button,Label,Entry, Listbox, Radiobutton, IntVar
 
class Capteur(Frame):
 
    def __init__(self,parent):
        Frame.__init__(self, parent,bd=8)
        self.registre1 = 0
        self.registre2 = 0
        self.registre3 = 0
 
        self.b1 = Button(self, text="lecture_des_registres",command = self.lecture_des_registres)
        self.b1.grid(row=1, column=0)
 
 
    def lecture_des_registres(self):
        print("lecture")
        self.registre1 = 1
        self.registre2 = 11
        self.registre3 = 111
 
 
 
if __name__=="__main__":
 
    app = tix.Tk()
    appareil = Capteur(app)
    appareil.grid()
 
 
 
    def Enregistrement_resultat():
        print("ecriture")
        with open("resultat2.csv", "a") as fichier:
                fichier.write(str(appareil.registre1)+','+str(appareil.registre2)+','+str(appareil.registre3)+'\n') 
 
    b1 = Button(app,text="Enregistrement_resultat",command = Enregistrement_resultat)
    b1.grid(row=1, column=0)
 
    app.mainloop()

Qu'elle est la convention en ce qui concerne la récupération des attribues de mon objet ?
  • on les récupère dans la boucle principale ?
  • on les récupère dans l'objet ?
  • il y a-t-il un autre moyen plus rapide de récupérer leurs valeurs ?



PS : J'aurai pu facilement me passer de la POO mais je l'ai fait ainsi car par la suite je pourrai avoir plusieurs capteurs. Les 2 méthodes fonctionnent mais je sais que mon manque d'expérience me fera peut-être partir vers le mauvais choix et qui au final se transformera en

Merci d'avance
Bonne journée