需求:按圖片分辨率范圍分類圖片(每個商品有N張圖片在一個目錄內)。
實現:用PIL Image打開圖片並讀取寬度和高度。然后按不同分辨率存檔到不同目錄。
問題:從原有目錄移動到目標目錄時出現 “PermissionError: [WinError 5] 拒絕訪問。: 'E:\\src\\dir1' -> 'E:\\des\\dir1'” 和 “PermissionError: [WinError 32] 另一個程序正在使用此文件,進程無法訪問。: 'E:\\src\\dir1\\imagename.jpg'”。
原因:Image.open(fullfilename) 后沒有關閉。(注:Image 沒有close方法)。
解決方案:
fp = open(fullfilename,'rb')
img = Image.open(fp) #這里改為文件句柄
fp.close()
參考:http://www.cnblogs.com/zzy0471/archive/2012/04/19/2456450.html https://www.v2ex.com/t/236577
