Hi! I have a suggestion that would hopefully allow slightly better lazy loading of Images. Currently data is only read from disk when operations are applied to an image. This works great when images are few and large.
Unfortunately ImageFile.__init__ opens a handle to the file. On systems with a maximum of ~255 handles per process (?) this is causing some problems, throwing a "too many files open" exception. Reports of this happening can be found through Google. I'm suggesting adding the following 2 lines to the start of ImageFile.load: if self.fp is None and self.filename: self.fp = open(self.filename, "rb") This will allow one to do the following and still use images as normal. images = [] for i in range(10000): image = Image.open("bla.png") image.verify() # release file handle images.append(image) Maybe I'm missing something obvious as I haven't tested this exhaustively. It seemed to solve my problem, so I'm just throwing this out there. Regards Janto _______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig