終了したいループがありますKeyboardInterrupt
:
while True:
try:
do_stuff()
except KeyboardInterrupt:
cleanup()
break
except Exception as e:
cleanup()
raise e
これは正常に動作しますが、デュアルcleanup()
は私には非常に汚れているようです。重複したコードは好きではありません。代わりにコンテキスト マネージャーを使用してみましたが、不要な複雑さが生じ、ファイル サイズがほぼ 2 倍になりました。
私の意図を表現するよりクリーンな方法はありますか?