Python3 PIL Image 操作文件后導致占用問題


需求:按圖片分辨率范圍分類圖片(每個商品有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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM