Bei Schreiboperatoren etwas an Datei anhängen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Hallo.
Ich habe folgendes Problem: Ich möchte etwas in eine Datei schreiben, allerdings möchte ich es an die Datei anhängen, und nicht alles überschreiben. Ich habe folgenden Code probiert, der aber nicht funktioniert weil der Mode 'a' nicht existiert. Eigentlich habe ich aber schon genug Beispiele im Internet gesehen, wo dieser verwendet wird. Ich kann mir nicht erklären warum.

Code: Alles auswählen

    link = open(filename, 'a', 0)
    link.write(inhalt)
    if(flush != 0):
        link.flush()
    link.close()
    return True
BlackJack

Was ist denn die Fehlermeldung? Und warum benutzt Du `flush()` auf einer Datei die ungepuffert ist?

Und werd diese komische ``return True`` Angewohnheit los.
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Was habt ihr denn alle gegen das PHP typische "return True" ??? ;-)
Da tu ich mich einfach so schwer mir das abzugewöhnen.

Als Fehlermeldung bekomme ich folgendes:

Traceback (most recent call last):
File "/home/chris/data/Programmierung und Entwicklung/Python/PyBench 0.5/pybench.py", line 86, in <module>
filemodule.writelinefile(logfiletext,LOGFILE_PATH+logfilename,1)
File "/media/MAINDATA150/Programmierung und Entwicklung/Python/PyBench 0.5/filemodule.py", line 21, in writelinefile
link = open(filename, 'a', 0)
IOError: invalid mode: a
BlackJack

Interessante Fehlermeldung. Kann ich nicht nachvollziehen. Ist `open()` das originale `open()`? Wie sieht der Dateiname aus?
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hi Sprudel!
Was soll eigentlich das flush? Ist das nicht überflüssig, wenn die datei danach eh geschlossen wird?
Und an deiner Pythoninstallation liegts auch nicht? Gib mal help(open) ein, was da steht, müsste ja gehen. Oder probier das ganze mal mit "file(...)"
Gruß, jj
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Hallo.
Vielen Dank für eure Hilfe. Es war tatsächlich ein Problem mit dem Dateinamen. Auch wenn ich mir das nicht so recht erklären kann, warum es dann so eine Fehlermeldung ausgibt.
Vielen Dank trotzdem :-)
Antworten