2017-01-21 8 views
0

Ich habe gehofft, jemand könnte mir helfen, ich bin derzeit versuchen, einige Daten in eine Textdatei zu schreiben, aber die Art, wie ich es tue, ist nicht mir geben, was ich will. Ich habe eine Datei mit mehr als 20 Zeilen mit Text und möchte die ersten 30 Zeichen der Datei mit 30 neuen Zeichen überschreiben. Der Code, den ich habe, löscht den gesamten Inhalt und fügt nur die 30 Zeichen hinzu. Bitte helfen :)überschreibt einige Daten in einer Python-Datei

file=open("text.txt", "w") 

gibt es etwas falsch mit diesem, warum es zu all den ursprünglichen Daten reoving anstatt einfach über sie zu überschreiben?

+0

RTEM ............. –

+0

Im Zweifelsfall die Dokumentation von [ 'open'] lesen (https://docs.python.org/3/library/functions.html# open): "' "w" 'zum Schreiben öffnen, Datei zuerst abschneiden". – Matthias

Antwort

1

Eine Möglichkeit ist, die gesamte Datei in eine einzelne Zeichenfolge, erstellen Sie eine neue Zeichenfolge mit dem ersten 30 Zeichen ersetzt und neu schreiben die gesamte Datei zu lesen. Dies kann wie folgt durchgeführt werden:

Im Idealfall müssen Sie prüfen, ob die Datei mehr als 30 Zeichen enthält, nachdem sie gelesen wurde. Verwenden Sie auch keine Datei und andere reservierte Namen als Variablennamen.

+0

das ist ein wirklich guter Weg, um zu umgehen, danke, ich werde es versuchen –

Verwandte Themen