über python in eine txt datei reinschreiben?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Fast alle Einsteiger und auch ein sehr großer Teil an fortgeschrittenen Entwicklern öffnen Dateien in Python leider falsch.

Richtig und sicher wird das so gemacht:

with open('foo.txt', 'w', encoding='utf-8', errors='strict') as fp:
    for c in 'abc':
        print(c, file=fp)

Das ...

  • ... ist viel kürzer,
  • ... stellt sicher, dass die Datei auch im Fehlerfall korrekt geschlossen wird,
  • ... spezifiziert explizit die Kodierung und die Fehlerbehandlung.

Bitte gewöhne dir diesen "Stil" an, und weise das Ergebnis von open() nie wieder händisch einer Variablen zu.

Viel Spaß noch! :)

Woher ich das weiß:Berufserfahrung

tes1t2 
Beitragsersteller
 19.09.2019, 16:42

Vielen Dank. Der eigentliche Fehler war der Virenschutz von windows...
Hat anscheinend mir keine Berechtigungen gegeben in der Datei was reinzuschreiben.

0

Existiert die Datei?

Wenn nicht kannst du mit "a" auch nichts anhängen.

Entweder die Datei vorher anlegen oder "w" nehmen


KarlRanseierIII  17.09.2019, 18:00

a erzeugt eine nicht existierende Datei, öffnet fürs Schreiben und führt ein seek() zum Ende der Datei durch.

1

Entweder existiert die Datei nicht, oder du musst noch den Pfad angeben.

Woher ich das weiß:eigene Erfahrung
os.path.normpath("C:/Users/xxx/Documents/projekt/test.py")

Versuch es mal mit diesem Dateipfad.

Ich habe zwar keine Ahnung von Python, aber bei so ziemlich allen mir bekannten Programmiersprachen führen einfache \ in Dateiangaben zu Problemen...

Und nenne mal die Variable anders als "file"