Ich habe eine Frage über diesen auf der Prüfung den folgenden Code:wann Funktionsstack Daten in Python freigeben?
1,
def file_close_test():
f = open('/tmp/test', 'w+')
if __name__ == '__main__':
file_close_test()
# wait to see whether file closed.
import time
time.sleep(30)
2,
def file_close_on_exc_test():
f = open('/tmp/test', 'w+')
raise Exception()
def exception_wrapper():
try:
file_close_on_exc_test()
except:
pass
# wait to see whether file closed.
import time
time.sleep(10)
if __name__ == '__main__':
exception_wrapper()
import time
time.sleep(30)
- Die Objektdatei geschlossen, wenn die file_close_test Ausfahrten, weil keine Hinweis darauf.
- Nach der Ausnahme ausgelöst, das Dateiobjekt nicht geschlossen.so denke ich, die verwandten Stapel Daten nicht freigegeben.
- Nach exception_wrapper beenden, die Datei automatisch geschlossen.
Können Sie das für mich erklären? Vielen Dank.
Es ist auch nicht so schwer: 'mit öffnen ('/ tmp/test', 'w +') als f:' –
es hilft mir sehr, danke :) – yancl