[Python-de] IndexError: list index out of range
Jürgen 'phoeniks' Jakel
python at phoeniks.de
Sat Jan 5 17:42:16 EST 2002
Hallo erstmal,
schön hier eine deutsche Python-Mailingliste gefunden zu haben.. nun gleich mal zu meiner Frage:
Ich habe ein Script das eine Log-Datei zeilenweise liest und an den leerzeichen zwischen den Werten in eine Liste trennt. Anschließend wird das ganze in die mySQL Datenbank geschrieben.
Das Logfile sieht ungefähr so aus:
1009212225 6 217.172.169.244 3306 217.172.180.30 43783 960 eth0 unknown
1009212225 6 217.172.180.30 43720 217.172.169.244 3306 161 eth0 unknown
1009212225 6 217.172.169.244 3306 217.172.180.30 43720 104 eth0 unknown
1009212225 17 217.172.180.22 8778 255.255.255.255 9777 77 eth0 unknown
1009212225 6 217.2.54.12 64599 217.172.180.30 22 20652 eth0 unknown
1009212225 6 217.172.180.30 22 217.2.54.12 64599 73600 eth0 unknown
Das ganze funktioniert auch prima. Ich schreib jetzt einfach mal den Code meines Scriptes hier rein...
import MySQLdb
conn = MySQLdb.connect(db='logging', host='localhost', user='root', passwd='root')
curs = conn.cursor()
import string
f=open('net-acct.log', 'r')
datei=1
while(datei):
datei=f.readline()
array=string.split(datei)
sql="INSERT INTO raw_data (ip_in, port_in, ip_out, port_out) VALUES ('"+array[2]+"', '"+array[3]+"', '"+array[4]+"', '"+array[5]+"')"
curs.execute(sql)
f.close()
curs.close()
conn.close()
---------------------
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..
Schönen Abend noch
phoeniks
P.S. Falls ich irgendwelche Regeln für Mailinglisten gebrochen oder hier jemand verärgert haben sollte, bitte verzeiht es mir - ist meine erste Mailingliste - sagt mir einfach was ich anders machen soll.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://starship.python.net/pipermail/python-de/attachments/20020105/e4387eb4/attachment.htm
More information about the Python-de
mailing list