Fehlerbehebungen in Python

Wenn ein Script nicht zu Ende durchläuft und ein Fehler ausgegeben wird, dann erscheint im Python Editor eine genaue Beschreibung zum Fehler mit der entsprechenden Zeilennummer.

  1. Öffnen Sie den Python Editor und das entsprechende Script und klicken Sie auf Ausführen.
  1. Das Script wird ausgeführt und die Fehlermeldung erscheint:
    python_script_error.png
  1. Im Python Editor erscheint unten folgende Info:

    Traceback (most recent call last):
      File "<string>", line 48, in ?
      File "<string>", line 6, in InputBox
    NameError: global name 'frm2' is not defined

    Bedeutung:
    line 48    Funktion InputBox wird in Zeile 48 aufgerufen
    line 6      Der Fehler tritt auf in Zeile 6

  1. Scrollbalken gedrückt halten und zur Zeile 6 navigieren:
    python_script_debug.png
    Der Fehler ist nun klar. frm2 ist ein Tippfehler und sollte eigentlich frm heissen.
  2. Fehler korrigieren. Speichern. Und das Script wieder ausführen.

Häufige Fehlerquellen

Verwendung von Variablen

Bei der Verwendung von Variablen muss auf die Gross-Kleinschreibung geachtet werden. Python ist case-sensitiv. Beim Verwenden von Variablen muss immer beachtet werden, dass die Variable 1:1 übereinstimmt.

            var1 ist nicht gleich Var1

In solchen Fällen ist es eher schwierig, den Fehler zu finden, weil Python in bestimmten Fällen keinen Fehler ausgibt, sondern eine neue Variable 'Var1' erzeugt. Daher immer darauf achten, dass die verwendete Variable auch exakt benannt wird.

Einrückung

Der Python Interpreter behandelt eine Einrückung richtig, wenn diese 4 Leerzeichen beinhaltet. Ein Tabulator wird in einem Python Editor automatisch durch 4 Leerzeichen ersetzt.

Sollte ein Codeteil von einer Webseite oder von einer anderen Textdatei in den Python Editor kopiert werden, dann muss darauf geachtet werden, dass es keine Einrückungen mit Tabulatoren hat. Falls dies der Fall ist, müssen die Tabulatoren durch 4 Leerzeichen ersetzt werden. Diverse Editoren unterstützen die Option "Tabulator ersetzen durch x-Zeichen".

Sammeltypen(Liste, Wörterbücher)

Sammeltypen sollten vor der Verwendung sicherheitshalber erstellt werden, damit es nicht zu unterwarteten Fehlern kommt (Zugriff auf oder Rückgabe von nicht bestehenden Listen etc.)

  • Liste erzeugen: list = []
  • Dictionary erzeugen: dict = {}

22.02.2010 | 22.02.2010
Produktlinien: Expert
Module: Leistung & CRM