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的时间。

posted @ 2012-04-19 03:14  会长  阅读(17049)  评论(7编辑  收藏  举报