Ich habe die folgende Funktion,Wird `mit Öffnen ... als Datei` Datei schließen, wenn innerhalb des eingerückten Blocks ein Wert zurückgegeben wird?
def load():
with open(PATH_CONFIG, 'r') as file:
return json.loads(file.read())
Wird es eine file.close()
genannt werden? Ich weiß, dass das with
Schlüsselwort normalerweise die close()
Methode für die Datei am Ende des eingerückten Blocks, aber zur gleichen Zeit das return
Schlüsselwort bedeutet, dass der Rest der Funktion nicht ausgeführt wird.
Nun, die 'return' bringt Sie aus dem Kontextmanager von' file' ... –
'return' bedeutet, dass die nächsten Anweisungen nicht ausgeführt werden, und der Kontrollfluss verlässt die aktuelle Funktion. Das bedeutet nicht, dass auf dem Weg nach draußen nichts passiert. Locals werden immer noch freigegeben, Ausnahmen 'open 'finally' und 'else' -Klauseln werden immer noch ausgeführt und ... '__exit__' von Kontextmanagern werden immer noch aufgerufen. – spectras