Josh Rosenberg added the comment:
And for this particular case, even if the resource allocators don't support the
context manager protocol, contextlib.closing can do the job:
from contextlib import closing
with closing(allocateresource1()) as resource1,
closing(allocateresource2()) as resource2:
dostuffthatmightthrowexception()
If it's not a simple as calling close, you can write your own simple manager
wrapper that calls some other cleanup function use @contextlib.contextmanager.
----------
nosy: +josh.rosenberg
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue21067>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com