class MyFile(file): def __init__(self, i, *args): self.i = i file.__init__(self, *args) def __del__(self): if '__del__' in dir(file): file.__del__(self) print "Deleted file %s" % self.i print "Creating file 1" MyFile("1", "/etc/passwd", "r") print "After file 1 creation" print "Creating file 2" foo = MyFile("2", "/etc/passwd", "r") print "After file 2 creation" for i in xrange(0, 10): print "Creating file 3.%d" % i bar = MyFile("3.%d" % i, "/etc/passwd", "r") print "After file 3.%d creation" % i bar.read() print "After reading file 3.%d" % i print "Reading file 2" foo.read() print "After reading file 2"