With class as contextmanager
This Wiederkehr
this.wiederkehr at gmail.com
Tue Jan 24 16:31:44 EST 2017
Hellou
having a class definition:
class Test():
@classmethod
def __enter__(cls):
pass
@classmethod
def __exit__(cls, exception_type, execption_value, callback):
pass
now using this as a contextmanager does not work, even though Test is an
object and has the two required methods __enter__ and __exit__.
it fails with:
#Attribute Error: __enter__
This is not working because behind the scene it does something like:
type(Test).__enter__(Test)
But isn't this supposed to be working?
I am asking because I'd like to implement the clean up behaviour for
multiple instances directly into the class:
with Test:
testinstance1 = Test()
testinstance2 = Test()
# on context exit Test.__exit__ should take care on cleaning up
testinstance1 and testinstance2.
Regards
This
More information about the Python-list
mailing list