file.write funzt nicht....

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
Knollo
User
Beiträge: 63
Registriert: Mittwoch 10. Juni 2020, 14:44

Hallo in die Runde,

Code: Alles auswählen

a = 12
b = 4

def summe(a,b):
    c = a + b
    return c

c = summe(a,b)
d = "Summe = " + str(c) + "\n"
f = open('test.txt', 'w')
f.write(d)
Der Code erstellt zwar die Datei "test.txt", aber es wird nix eingetragen. Wenn aber die Funktion auskommentiert wird und c ein String zugewiesen wird ist alles paletti.
Wo liegt der Fehler begraben?
PS. ich arbeite unter Windows.....
Danke für jede Hilfe
Sirius3
User
Beiträge: 18279
Registriert: Sonntag 21. Oktober 2012, 17:20

Man mußt Dateien, in die man schreibt, auch wieder schließen, indem man with benutzt.
Man stückelt Strings nicht mit + zusammen, sondern nutzt Formatstrings:

Code: Alles auswählen

def summe(a, b):
    c = a + b
    return c

a = 12
b = 4
c = summe(a, b)
with open('test.txt', 'w') as file:
    file.write(f"Summe = {c}\n")
Knollo
User
Beiträge: 63
Registriert: Mittwoch 10. Juni 2020, 14:44

Danke, läuft :-) .... ich hatte anderer Stelle file.close geschriebe - was aber auch nichts brachte. Ist nun aber egal. Ich verwende "with"

einen schönen Abend noch.
Antworten