Sto provando a creare un codice per riscrivere una linea specifica da un file .txt. Posso arrivare a scrivere nella riga che voglio, ma non riesco a cancellare il testo precedente sulla linea.Come cancellare la riga dal file di testo in Python?
Ecco il mio codice:
(sto provando un paio di cose)
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)
È possibile utilizzare questo codice per rendere un file di prova per il test:
with open('writetest.txt','w') as f:
f.write('1 \n2 \n3 \n4 \n5')
writeline('writetest.txt',4,'This is the fourth line')
Edit: Per qualche ragione, se uso 'if count == 5:' il codice compila ok (anche se non cancella il testo precedente), ma se lo faccio 'if count == n_line:', il file finisce con un sacco di spazzatura.
Le risposte funzionano, ma mi piacerebbe sapere quali sono i problemi con il mio codice e perché non riesco a leggere e scrivere. Grazie!