Build a context manager that ensures resources are always released, even on failure.
Constraints
Example
>>> rc = ResourceCleanup()
>>> with rc:
... rc.acquire('file1')
... rc.acquire('file2')
>>> rc.close()
[]
>>> rc = ResourceCleanup()
>>> rc.acquire('a')
'a'
>>> rc.acquire('b')
'b'
>>> rc.release('a')
>>> rc.close()
['b']
>>> rc = ResourceCleanup()
>>> rc.acquire('x')
'x'
>>> rc.acquire('x')
'x'
>>> rc.release('x')
>>> rc.close()
['x']
>>> rc.close()
[]
Recent Submissions
No submissions yet — hit Run Tests to try!
Hints