Öhm, bei mir arbeiten beide Codes fehlerfrei (1:1 mit Copy & Paste üvertragen):
der erste gibt Error: variable contains only self-references in line 2 aus, der zweite keinen Fehler, sondern ausgaben wie: (bei 5 Testläufen). Irgendwie ist entweder mein Python-Interpreter oder deiner zerschossen.
Edit:
Tut bei mir auch ohne Zeilenumbruch. Komisch...
Edit 2:
Eigentlich sollte das mit den Zeilenumbrüchen von der Logik her egal sein. Ich benutze zum Auslesen der Datei die Funktion readline(), die gibt einen leeren String zurück, wenn die Datei zu Ende ist oder die letzte Zeile der Datei geparst wird und leer ist (bei anderen Leerzeilen gibt sie '\n' zurück). Der einzige mögliche Fehler sollte sein, dass beider letzte Wert von %weiter% als Zeilenumbruch interpretiert werden könnte.
Edit 3:
Der Fehler mit dem Newline tritt nicht auf, ich hab's gerade nochmal nachgeprüft.