block is exited.
Context managers with a close method can use this context factory
-directly without needing to implement their own
-\method{__context__()} method.
+to easily implement their own \method{__context__()} method.
\begin{verbatim}
from __future__ import with_statement
from contextlib import closing
class MyClass:
def close(self):
print "Closing", self
- __context__ = closing
+ def __context__(self):
+ return closing(self)
>>> with MyClass() as x:
... print "Hello from", x