class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file)
It seems that the idiomatic way to do this is to provide a close() method (or similar), and call it explicitely.
close()