С учетом StreamReader именованного читателя, это должно дать вам список (float, float, float). Я предлагаю список из 3-х кортежей, потому что, вероятно, будет удобнее и эффективнее проходить через него, если только по какой-то причине вы не хотите получать все очки индивидуально.
coords = []
reader
while line=reader.readline():
index_ullat = line.find("ULLAT")
if index_ullat >= 0:
ullat = float(line[ index_ULLAT+7 : ])
line = reader.readline()
index_ullon = line.find("ULLON")
index_lrlat = line.find("LRLAT")
if index_ullon >= 0 and index_lrlat >= 0:
ullon = float(line[ index_ullon+7 : index_lrlat-1 ])
lrlat = float(line[ index_lrlat+7 : ])
else:
raise InputError, "ULLON and LRLAT didn't follow ULLAT."
coords.append(ullat, ullon, lrlat)
Это может сработать, но безобразно. Я не эксперт в разборе строк.