2017-07-28 4 views
0

Ich möchte eine Datei schreiben und dann ändern, indem Sie einen anderen Inhalt an den Anfang und das Ende der Datei einfügen.Wie füge ich Inhalt am Anfang der Textdatei ein?

Mein Code:

f = open('Blowing in the wind.txt', 'w+') 
f.seek(0) 
f.truncate() 
f.write(''' 
How many roads must a man walk down 

Before they call him a man 

How many seas must a white dove sail 

Before she sleeps in the sand 
''') 
content= f.read() 
f.seek(0) 
f.write('Blowing in the wind\n' + 'Bob\n'+content) 
f.seek(0,2) 
f.write('\n1962 by Warner Bros.Inc.') 
f.seek(0,0) 
txt= f.read() 
print(txt) 

Ergebnis:

Blowing in the wind 
Bob 
n walk down 

Before they call him a man 

How many seas must a white dove sail 

Before she sleeps in the sand 

1962 by Warner Bros.Inc. 

Wie der zusätzlichen Inhalt überschreibt die erste Zeile im ursprünglichen Text zu verhindern?

+0

Kontrolle dieser [post] (https://stackoverflow.com/questions/5914627/prepend-line-to-beginning-of-a-file) – PRMoureu

Antwort

0

Sie können den Dateiinhalt Daten lesen = f.read()

new_data = "start" + Daten + "Ende"

Sie Datei öffnen, kann mit 'w' Modus und tun

f.write (new_data)

+0

Hallo, ich lese die Hilfe Datei und ich dachte, w + könnte alles tun, was ich tun kann? Also nehme ich an, es ist in Ordnung, w + anstelle von w zu verwenden? –

+0

Und auch wenn ich versuchte, "a +" zu verwenden, um die Datei zu öffnen, selbst wenn ich den Zeiger an den Anfang mit seek (0) bewege, wurde der zusätzliche Text immer noch an das Ende der ursprünglichen Datei angehängt, warum ist das? –

+0

Sie müssen zwei Dateiinstanzen haben, eine mit "r" -Modus und die nächste mit "w +" -Modus – rkatkam

Verwandte Themen