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.