Hallo detlef,
in Python liest man üblicherweise Dateien zeilenweise mit einer for-Schleife:
Code: Alles auswählen
fid=open(dateiname)
for line in fid:
do_something
fid.close()
statt string.split(line) sollte line.split() verwendet werden.
Das nachfolgende rsplit ist überflüssig, da split schon alle
Leerzeichen vor und nach jedem Teilstring entfernt.
Bei leeren Zeilen liefert split eine leere Liste, so dass der
Versuch auch line[0] zuzugreifen mit einem IndexError belohnt wird.
ist deutlich robuster und fehlertoleranter.
Warum ignorierst Du den ValueError? Spätestens wenn Du mit
den Coordinaten rechnen willst, wird sich Dein Programm ärgern.
Fehler so früh wie möglich anzeigen, dann kann man die Ursache
besser lokalisieren.
Alles in allem:
Code: Alles auswählen
coordinates = []
fid = open(dateiname)
for line in fid:
line=line.split()
if line and line[0].upper()=='GRID':
coordinates.append(map(float,line[2:]))
fid.close()
Grüße
Sirius