I have code like: if (condition): do_something_needing_cleanup
code_executed_unconditionally <cleanup has to happen here if required, even if above did return, continue or exception> Now, how can I make sure cleanup happens? Actually, what I really would like, is: if (condition): do_something_needing_cleanup register_scoped_cleanup (cleanup_fnc) code_executed_unconditionally So, any thoughts/hopes of python being able to do something like this? I know we have try/finally, but I don't think that helps here, because code_executed_unconditionally couldn't be inside the try. Or am I missing something obvious? -- https://mail.python.org/mailman/listinfo/python-list