Python PIL Image模块中有Open方法却没有Close方法!?
刚才写代码遇到个问题,根据图片的大小判断是否删除一个图片,代码大致如下:
im = Image.Open(fileName) x,y = im.size if x < 600 or y < 400: os.remove(fileName)
运行后果断报错,是个windows错误。当时想可能是因为文件被占用而一直没有释放,所有不能删除。查看了文档发现image没有提供Close方法,去google查了下,有人说Open方法得到个对象后可能就自动释放文件了,对象独立存在于内存中。可是我这里确实是无法删除,后来将代码改为如下才可用运行了:
fp = open(fileName,'r') im = Image.open(fp) fp.close() x,y = im.size if x <400 or y < 300: os.remove(fileName)
本文无毫无技术含量,只希望遇到同样问题的仁兄能够看到,节省一些google的时间。
欢迎转载,转载请注明出处