Gibt es ein Muster, mit dem Sie den Context Manager verlassen und den Kontrollfluss an den Code hinter dem with (...):
zurückgeben können?Können Sie von einem Context Manager "brechen"?
Zum Beispiel (nicht wirklich funktionieren):
with open('/etc/passwd', 'r') as f:
f.seek(0, 2)
if f.tell() < 10:
print "The file is too small!"
break
# Process the file.
Gibt es etwas, ich break
mit ersetzen kann, das Gleiche zu tun?
Ihr Beispiel klingt wie Sie lieber Ausnahmen verwenden möchten. –
Könntest du nicht einfach 'if f.tell()> = 10: tu sonst noch:" Datei ist zu klein "' hier? – theorifice
Dies sind die Ausnahmen für *. –