"Little Shop of Errors": Leicht zu erzeugende Fehler in Python
1. „Little Shop of Errors“:
Leicht zu erzeugende Fehler in Python
Wintersemester 2013/14
Symbolische und Statistische Verfahren
Tutorium
Sprachwissenschaftliches
Institut
3. IndentationError
Einrückungsfehler
Häufige Ursachen:
Kopierter Code
Ein-/Auskommentieren von Code
• (Tipp zum Vermeiden: Strg + 3 zum Einfügen von Kommentarzeichen,
Strg + Shift + 3 zum Aufheben der Kommentierung)
Mathematische Terme über mehrere Zeilen
Beispiel:
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[3]
4. IndentationError
Mathematische Terme über mehrere Zeilen - ohne IndentationError:
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[4]
5. TypeError
Anwendung von Operationen auf falsche Datentypen
Häufige Ursachen:
Strings mit Zahlen konkatenieren (generell: Konkatenation verschiedener
Typen)
Zahlen, die in Zeichenketten stehen, zum Rechnen verwenden
Auf Sets via Index zugreifen
Stringmethoden auf Listen anwenden
… etc
Beispiel:
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[5]
6. IndexError
Angegebener Index ist nicht vorhanden
Häufige Ursachen:
for-Schleife in Kombination mit index+1 o. ä.
Index soll durch Benutzer angegeben werden, Benutzer gibt Index an,
der nicht vorhanden ist
String/Liste/Datei ist unerwarteterweise leer
Beispiel:
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[6]
7. NameError
Angegebene Variable wird nicht gefunden
Häufige Ursachen:
Tippfehler
Lokale Variablen werden verwendet, als wären sie global
Variablen waren nur in einer früheren Version des Codes definiert
Bei der Verwendung von Funktionen aus importierten Modulen fehlt der
Verweis
Beispiel 1:
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[7]
8. NameError
Häufige Ursachen:
Bei der Verwendung von Funktionen aus importierten Modulen fehlt der
Verweis
Beispiel 2:
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[8]
9. ValueError
Inhalte der Variablen verhindern, dass die Operation durchgeführt werden
kann
Häufige Ursachen:
Mit dem Ergebnis einer Funktion arbeiten wollen, die fehlschlägt
Typecast mit falschen Voraussetzungen (z. B. int() bei Strings ohne
Zahl)
Beispiel 1:
Beispiel 2:
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[9]
10. UnicodeError
Encoding des Codes oder verwendeter Dateien kann nicht gelesen werden
Häufige Ursachen:
Datei ohne Encoding-Angabe geöffnet
Projekt in Eclipse mit falschem Encoding ausgeführt
Standardmäßig ist CP1252
eingestellt!
Ändern des Encodings:
Rechtsklick auf das Projekt/
Properties/Resource
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[ 10 ]
11. IOError
Datei kann nicht gelesen werden
Häufige Ursachen:
Tippfehler
Fehlende Dateinamenerweiterung
Pfad stimmt nicht
Dateipfade verwenden:
"./corpus.txt"
"../corpora/finnish.txt"
Sprachwissenschaftliches
Institut
entspricht
Datei corpus.txt im
WorkspaceVerzeichnis
entspricht
Datei finnish.txt im
“Schwesterverzeichnis” des
Workspace
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[ 11 ]
12. ImportError
Modul kann nicht importiert werden
Häufige Ursachen:
Tippfehler
Modul liegt nicht in einem der folgenden Ordner:
• Workspace-Verzeichnis des aktuellen Projekts
• …/PythonXX/Lib
• …/PythonXX/Lib/site-packages
• Heruntergeladene Module/Pakete immer in site-packages ablegen!
site-
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[ 12 ]
13. KeyboardInterrupt
Programm wurde unterbrochen, bevor es fertig durchgelaufen ist
Ursache: Strg+C drücken (in der Eingabeaufforderung oder IDLE)
Nützlich bei endlos laufenden Modulen oder beim Testen
“Terminate”Gleiche Funktionalität wie der “Terminate”-Button in Eclipse
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[ 13 ]
14. RuntimeError
Nicht näher spezifizierter Error…
Hilfreicher Link zu Errors und den möglichen Ursachen:
http://pythonforbiologists.com/index.php/29-common-beginner-python-errorson-one-page/
Sprachwissenschaftliches
Institut
Symbolische und Statistische Verfahren ‒ Wintersemester 2013/14
[ 14 ]