Sometimes, we want to correctly clean up a Python object.
In this article, we’ll look at how to correctly clean up a Python object.
How to correctly clean up a Python object?
To correctly clean up a Python object, we can use a with statement.
For instance, we write
class Package:
def __init__(self):
self.files = []
def __enter__(self):
return self
# ...
def __exit__(self, exc_type, exc_value, traceback):
for file in self.files:
os.unlink(file)
to add the __enter__ and __exit__ methods in the code to return the class instance and run clean up code respectively.
And then we can use it with
with Package() as package_obj:
# ...
to create a Package instance and assign the instance returned by __enter__ to package_obj.
Then once we’re done running the code in with, __exit__ will be run to clean up automatically.
Conclusion
To correctly clean up a Python object, we can use a with statement.