Seite 1 von 1

div. Fehlermeldungen

Verfasst: Sonntag 14. Dezember 2014, 23:28
von stoffl6781
Hi zusammen,

ich bekomme immer wieder Fehelrmeldungen - wenn ich dann ein leerzeichen in diesem Bereich lösche, dann kommt wiederum eine andere Fehlermeldung ?

Anei ein paar Fehlermeldungen
vl kann mir das jemand erklären warum das kommt, oder mach ich vl. am Format was falsch??
Es muss auf jeden Fall mit der Zeile etwas zu tun haben - Tab verwende ich eigentlich keine, da ich da auch schon öfters Probleme hatte

danke

Code: Alles auswählen

Traceback (most recent call last):
  File "testmenu.pyw", line 71, in <module>
    App()
  File "testmenu.pyw", line 23, in __init__
    for t in TempDevices()]
  File "testmenu.pyw", line 23, in <listcomp>
    for t in TempDevices()]
TypeError: __init__() takes exactly 4 arguments (3 given)
pi@tempctrl ~/Desktop/tempctrl $

Code: Alles auswählen

  File "testmenu.pyw", line 38
    self.window.mainloop()
    ^
IndentationError: unexpected indent

Betroffene Zeilen:

Code: Alles auswählen

class App:
    def __init__(self):
        self.window = tk.Tk()
        self.window.title("RPI CTRL by S.E.C.")
        self.window.minsize(600,500)
        self.window.configure(background="#7AC5CD")
        self.tempLabels = [Thermometer(self.window, t)
                           for t in TempDevices()]
        for t in self.tempLabels: t.pack()
        self.colors = ["red", "green", "blue", "black"]
        self.c = Canvas(master=self.window, width = 320,
                        height= 250, bg="white")
        self.c.create_text(20, 20, text="30 °C")
        self.c.create_text(20, 220, text="20 °C")
        self.c.pack()
        t = TempDevices()
        self.pens = []
        for i in range(len(t)):
            self.pens.append(Pen (self.c,
                t[i], self.colors[i%4]))
        _thread.start_new_thread(self.update1, ())

        self.window.mainloop()

    def update1(self):
        while True:
            for i in range(60):
                for pen in self.pens:
                    pen.draw(i*5)
                time.sleep(1)
            self.c.delete("point")

Re: div. Fehlermeldungen

Verfasst: Montag 15. Dezember 2014, 00:32
von EyDu
Die Fehlermeldungen sind doch selbstsprechend: Die erste sagt aus, dass ein Parameter mehr erwartet wird (bei der Erzeugung einer Thermometer-Instanz in Zeile 7). Die zweite sagt aus, dass die Einrückung nicht stimmt.

Re: div. Fehlermeldungen

Verfasst: Montag 15. Dezember 2014, 00:35
von BlackJack
@stoffl6781: Threads und GUIs darf man so nicht verwenden. Auch wenn das scheinbar funktionieren mag, das ist nicht garantiert, das Verhalten des Programms ist undefiniert.

Re: div. Fehlermeldungen

Verfasst: Montag 15. Dezember 2014, 17:08
von stoffl6781
EyDu hat geschrieben:Die Fehlermeldungen sind doch selbstsprechend: Die erste sagt aus, dass ein Parameter mehr erwartet wird (bei der Erzeugung einer Thermometer-Instanz in Zeile 7). Die zweite sagt aus, dass die Einrückung nicht stimmt.
Ja ich verstehe die Meldungen schon, aber komischerweise kommen diese nacheinander ... warum auch immer, einmal diese Meldung beim nächsten start nur die andere ...
Das mit dem Einrücken kommt oft bei TAB und Leerzeichen - ich verwende nur noch Leerzeichen, bis jetzt meine beste Erfahrung.

aber ich denke, dass BlackJeck genau das angesprochen hat, wo mir einen Strich durch die Rechnung macht.

Danke für die Infos!

Re: div. Fehlermeldungen

Verfasst: Montag 15. Dezember 2014, 17:45
von /me
stoffl6781 hat geschrieben:Das mit dem Einrücken kommt oft bei TAB und Leerzeichen - ich verwende nur noch Leerzeichen, bis jetzt meine beste Erfahrung.
Das ist auch die Empfehlung in PEP-8 (Style Guide for Python Code).