- eine Datei unbekannter Länge "test.txt" zum Lesen öffnen
- eine Datei "zieltest.txt" zum Schreiben öffnen
- "test.txt" zeilenweise einlesen, jede Zeile auf das Vorhandensein eines Strings prüfen, und wenn der String nicht enthalten ist, die Zeile so, wie sie war, in "zieltest.txt" schreiben.
- alle Dateien wieder zumachen
Was ich zusammengebastelt habe, sieht folgendermassen aus:
Code: Alles auswählen
import string
original = open ("Test.txt", "a")
original.write("Textende erreicht ")
original.close
origin = open ("Test.txt", "r")
target = open ("Zieltest.txt", "a")
i = 0
pruefzeile = origin.readline(i)
while pruefzeile != "Textende erreicht ":
zeilenstring = str(pruefzeile)
if zeilenstring.find("de ") == -1:
#target.write(zeilenstring)
print zeilenstring
i += 1
pruefzeile = origin.readline(i)
target.close
origin.close
print "Fertig"
1.) das Programm gibt unterschiedslos Zeilen aus, die ein oder die kein "de " enthalten. Er schreibt einfach alle Zeilen auf den Bildschirm (oder in eine Datei).
2.) Nach "Textende erreicht " schreibt diese Version munter weiter Leerzeilen auf den Bildschirm. Die Version mit aktiver Zeile 13 erzeugt Dateien beliebiger Grösse, je nachdem wie lange man wartet, bis man manuell abbricht.
3.) Ich kann die Dateien, die ich via Zeile 13 erzeugt habe, erst löschen, wenn ich Python beendet habe. Kein Wunder, der "close"-Befehl wird ja auch nicht ausgeführt, WinXP will aber keine geöffneten Dateien löschen. Wie kann ich die Dateien schliessen?
1. und 2. sprechen dafür, dass meine Art, Strings zu vergleichen, grundsätzlich nicht funktionieren. Aber auch alle anderen Versionen, die ich mal probiert habe, wollten nicht funktionieren... Insofern bitte ich mal wieder um Hilfe.