剛才寫代碼遇到個問題,根據圖片的大小判斷是否刪除一個圖片,代碼大致如下:
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的時間。
