Ich versuche, einen Code zum Umschreiben einer bestimmten Zeile aus einer TXT-Datei zu machen. Ich kann schreiben in der Zeile, die ich will, aber ich kann den vorherigen Text in der Zeile nicht löschen.Wie lösche Zeile aus Textdatei in Python?
Hier ist mein Code:
(Ich bin ein paar Dinge zu versuchen)
def writeline(file,n_line, text):
f=open(file,'r+')
count=0
for line in f:
count=count+1
if count==n_line :
f.write(line.replace(str(line),text))
#f.write('\r'+text)
Sie diesen Code verwenden, um eine Testdatei für die Prüfung zu machen:
with open('writetest.txt','w') as f:
f.write('1 \n2 \n3 \n4 \n5')
writeline('writetest.txt',4,'This is the fourth line')
Edit: Aus irgendeinem Grund, wenn ich 'if count == 5:' verwende, kompiliert der Code ok (auch wenn er den vorherigen Text nicht löscht), aber wenn ich 'if count == n_line:' mache, endet die Datei mit viel Müll.
Die Antworten funktionieren, aber ich möchte wissen, was die Probleme mit meinem Code sind, und warum ich nicht lesen und schreiben kann. Vielen Dank!