[Python-de] Frage zu x.write('xxxx')
Detlef Lannert
lannert at uni-duesseldorf.de
Fri Jan 3 20:03:21 EST 2003
[Arrrgg. Lieber Moderator, bitte wirf mein voriges Posting weg; ich hatte
eine abweichende Absenderadresse benutzt.]
Kathleen Dennler <kdennler at gmx.de> wrote:
> ich versuche gerade, mich bei python in die Speicherung von Daten
> einzuarbeiten. Zuerst möchte ich versuchen, beliebige strings in einem .txt Dokument zu
> speichern. Dazu habe ich folgenden kleinen Quelltext:
>
> def spielerei(text):
> spiel = open('wow.txt')
> spiel.read()
> spiel.write(text)
> spiel.read()
> spiel.close()
> return 'fertig'
>
> print spielerei('sosososo')
>
> Leider gibt mir python dabei diesen Fehler aus:
Du hast die Datei nur zum Lesen geöffnet -- daher wird beim Versuch,
Daten hineinzuschreiben, ein Fehler gemeldet.
Es ist zwar möglich, dasselbe Dateiobjekt (das vom open() geliefert
wird, bei Dir spiel) zum Schreiben und zum Lesen im Wechsel zu
verwenden, aber das ist nicht gerade leichte Kost für Einsteiger ...
Also entweder liest und schreibst Du verschiedene Dateien:
def spielerei(text):
einspiel = open("wow.txt")
ausspiel = open("boah.txt", "w") # zum Schreiben geöffnet
daten = einspiel.read()
ausspiel.write(text + daten)
einspiel.close()
ausspiel.close()
return daten
print spielerei("sosososo") # gibt die gelesenen Daten aus
oder Du liest und schreibst nacheinander:
def spielerei(text):
spiel = open("wow.txt") # zum Lesen
altedaten = spiel.read()
spiel.close()
spiel = open("wow.txt", "w") # zum Schreiben
spiel.write(text) # alten Inhalt überschreiben
spiel.close()
return altedaten
print "vorher stand drin:", spielerei("sosososo\n")
Für den Anfang ist das vielleicht einfacher.
Detlef
More information about the Python-de
mailing list