項目場景
import os
from PIL import Image
img = Image.open('test.png')
w, h = img.size
if w > h:
os.remove('test.png')
python
中使用pillow
庫打開一張圖片,對圖片的長寬進行條件判斷,若滿足圖片的寬大於長,就調用os
庫的remove
函數將圖片刪除。
問題描述
PermissionError: [WinError 32] 另一個程序正在使用此文件,進程無法訪問。: 'test.png'
運行程序,報錯說是:另一個程序正在使用此文件,進程無法訪問。
原因分析
我們都知道,一般文件處於占用狀態的話,系統出於對文件的保護,我們是不能直接將其刪除的,除非強制解除占用。
這里用pillow
庫打開了這張圖片,但不能立即將其刪除,那么就說明該文件打開后並沒有立即被釋放,仍處於占用狀態,所以我們只需要釋放文件就行了。
解決辦法
import os
from PIL import Image
import time
img = Image.open('test.png')
w, h = img.size
img.close()
if w > h:
os.remove('test.png')
加一條代碼img.close()
解除文件占用。然后就能對文件進行下一步的操作了。