2016-10-09 4 views
1

Ich habe den folgenden Code in einer Py-Datei:Warum muss ich die Shell schließen, damit mein Skript funktioniert? (Schreiben von Dateien in Text)

f = open('exampleTextFile.txt', 'w') 
f.write('This is a sentence.') 
f.close 

ich es öffnen und drücken Sie F5 zu laufen.

Die IDLE-Shell öffnet sich und führt den Code ohne Probleme aus. Aber dann, wenn ich die Textdatei in meinem Verzeichnis finde und es öffne, ist der Text nicht da. Wenn ich dann die Shell schließe und die Textdatei erneut öffne, erscheint der Text. Warum muss ich die Shell schließen und welchen Code kann ich schreiben, damit ich das nicht machen muss?

Ich weiß, die Antwort muss einfach sein! Vielen Dank.

Antwort

0

Ihre Datei wird nicht ordnungsgemäß geschlossen. Sie haben vergessen, die Klammern:

f.close() 
2

Sie diese Fehler mithilfe des open Kontext-Manager verhindern kann

with open('exampleTextFile.txt', 'w') as f: 
    f.write('This is a sentence.') 
# file automatically closed 

Dies hat den zusätzlichen Vorteil, dass die Datei auch auf Fehler geschlossen werden:

with open('exampleTextFile.txt', 'w') as f: 
    raise Exception() 
# file still closed 
+0

Warum runter? Dies ist die empfohlene Vorgehensweise. –

Verwandte Themen