[Python-de] IndexError: list index out of range

Georg Mischler schorsch at schorsch.com
Sat Jan 5 11:52:38 EST 2002


Jürgen 'phoeniks' Jakel wrote:

> ---------------------
>
> Wenn ich das Script ausführe dann scheint es zwar zu funktionieren (er
> schreibt alle Zeilen in die Datenbank) allerdings bekomme ich immer eine
> Fehlermeldung am Ende:
>
> Traceback (most recent call last):
>   File "<string>", line 1, in ?
>   File "C:\Programme\Python21\arhack.py", line 10, in ?
>     sql="INSERT INTO raw_data (ip_in, port_in, ip_out, port_out) VALUES
>     ('"+array[2]+"', '"+array[3]+"', '"+array[4]+"', '"+array[5]+"')"
>     IndexError: list index out of range
>
> Nun meine Frage - was mache ich falsch? Gibt es eine Begrenzung für Listen?
> wobei das ja nix machen sollte weil meine Liste ja nur 7 "spalten" hat..


Deine Datei enthaelt (wie die meisten Textdateien) am Ende eine
Leerzeile. Diese resultiert in len(array)->0, womit die Erstellung
deines SQL-Statements scheitert. Du solltest einfach in deiner
Schlaufe nach dem Splitten noch kurz Testen, ob in der Liste
tatsaechlich die geforderte Anzahl Elemente enthalten sind.
Ganz nebenbei wird dein Programm damit auch robuster gegenueber
korrumpierten Logfiles...


-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/




More information about the Python-de mailing list