[Python-ideas] Generalized version of contextlib.close
Roberto Martínez
robertomartinezp at gmail.com
Mon Mar 26 04:35:17 EDT 2018
Hi,
sometimes I need to use contextlib.close but over methods with a different
name, for example stop(), halt(), etc. For those cases I have to write my
own contextlib.close specialized version with a hard-coded method name.
I think adding a "method" argument to contextlib.close can be very useful:
@contextmanager
def closing(thing, method="close"):
try:
yield thing
finally:
getattr(thing, method)()
Or maybe something even more generic:
@contextmanager
def calling(fn, *args, **kwargs):
try:
yield
finally:
fn(*args, **kwargs)
Best regards,
Roberto
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180326/27be321d/attachment.html>
More information about the Python-ideas
mailing list