Ich weiß, dass die file.close()
Methode in Python keinen Rückgabewert hat, aber ich kann keine Informationen darüber finden, ob in einigen Fällen eine Ausnahme ausgelöst wird. Wenn es das auch nicht tut, dann denke ich, dass der zweite Teil dieser Frage überflüssig ist.file.close() Ausnahmebehandlung innerhalb einer With-Anweisung in Python
Wenn ja, was wäre dann der "richtige" Weg, um die file.close()
-Methode zu behandeln, die eine Exception in einer "with" -Anweisung zum Öffnen der Datei auslöst?
Gibt es eine Situation, in der file.close()
sofort fehlschlagen kann, nachdem eine Datei geöffnet und erfolgreich gelesen wurde?
Wenn Sie Python 2.5 oder höher verwenden, wird ein 'Mit'-Block automatisch die Datei für Sie schließen. In diesem Fall muss 'close() nicht explizit angegeben werden. – Daniel
@Daniel, OP verwendet Python 3.x-Tag. @Bitrex Sie können den Fehler drucken, wenn es geschieht, indem Sie Ihre 'with'-Anweisung mit einem' try: exception, e: print (e) ' – awbemauler
mit Anweisungen können Ausnahmen mit keine Möglichkeit, sie zu umgehen, außer durch Einwickeln in versuchen /außer.mit/außer wurde vorgeschlagen, aber abgeschossen. mit Aussagen sind syntaktische Zucker für einfache Anwendungsfälle, bei denen keine Ausnahme erwartet wird. Siehe http://stackoverflow.com/questions/8774830/how-with-is-better-than-try-catch-to-open-a-file-in-python für ausführliche Diskussion. –