Seite 1 von 1

except abfrage

Verfasst: Montag 14. Juni 2021, 13:09
von Stephano
Hallo zusammen,

das System soll prüfen ob die Variable definiert ist wenn dann......
Alles funktionier aber nur einmalig.
Gibt es die möglichkeit diesen Code auch mehrmals auszuführen?

def b1():
try:
dasd

except NameError:
my_labelkd()
else:
my_listbox.delete(0, 'end')
for item in col_b:
my_listbox.insert(END, item.value)
my_listbox.selection_anchor(index=0)
my_listbox.selection_set(ANCHOR)

Re: except abfrage

Verfasst: Montag 14. Juni 2021, 13:14
von Sirius3
Was bedeutet denn "funktioniert nur einmal"? Wie rufst Du die Funktion auf, was macht my_labelkd?

Alle Deine Variablennamen sind sehr schlecht, und es ist sehr schwierig zu verstehen, was der Code macht.
b1? dasd? my_-Präfixe sind meist unsinnig, wenn es nicht auch ein our_-Prefix gibt.
Bei `my_labelkd`, was soll das kb denn bedeuten?
Alles was eine Funktion braucht, muß sie über ihre Argumente bekommen, my_listbox und col_b kommen aber aus dem Nichts.

Und generell ist Dein Vorgehen falsch. NameError deuten immer auf einen Programmierfehler hin, das was Du versuchst zu lösen, löst man anders. Was willst Du eigentlich machen? Beschreibe Deine Aufgabe ausführlicher und zeige passenden Code dazu.

Re: except abfrage

Verfasst: Dienstag 15. Juni 2021, 12:51
von Stephano
Hallo Sirius3,

Danke für deine Hinweise. Konnte das Problem lösen, hatte eine Globale Variable falsch benannt. Muss dazu sagen das ich ein absoluter Anfänger was Python bestrifft. Es tut mit sehr leid das meine Variablen sehr schlecht sind und generell alles falsch ist. Mitnehmen werde ich auf jeden Fall das ich letztendlich den ganzen Code zu Verfügung stellen muss und mein Anliegen deutlicher formulieren sollte.
Viele Grüße
Stephan

Re: except abfrage

Verfasst: Dienstag 15. Juni 2021, 14:49
von __blackjack__
@Stephano: Das Problem bei der globalen Variable ist nicht die falsche Benennung, sondern das es überhaupt eine globale Variable gibt.

Bei GUI-Programmierung kommt man nicht wirklich um objektorientierte Programmierung (OOP) herum, also man muss eigene Klassen schreiben können.