bluelagoon hat geschrieben:Code: Alles auswählen
L = 4
if L == 4 :
for line in open("geschichten.txt"):
o=open("geschichten.txt","r+w")
lini = line.replace ("X","5")
o.write(lini)
o.close()
Bitte benutze für Python-Code hier im Forum Python-Tags, statt Code-Tags.
Hast du eigentlich die Antworten auf deine Frage gelesen
und verstanden? Du versuchst hier immer noch eine Datei zweimal zu öffnen und zwar einmal zum Lesen und einmal zum Lesen und Schreiben. Außerdem ist es nicht erforderlich, die zum Schreiben benutzte Datei für jede Zeile in der Quelldatei einmal zu öffnen und wieder zu schließen.
Der Weg sollte so sein, wie in den Antworten gezeigt:
1: Quelldatei öffnen - und zwar vorzugsweise unter Verwendung von
with, denn damit wird sie am Ende des with-Blocks automatisch geschlossen.
2: Zieldatei öffnen - auch hier sollte
with verwendet werden.
3. Alle Zeilen der Quelldatei durchgehen
3.1: Ggf. Text ändern
3.2: In Zieldatei schreiben
Zum Schluss kannst du dann noch die Quelldatei wegräumen und der Zieldatei den Namen der Quelldatei geben.