所以簡要說明我有,我把一些圖片到一個文件夾中。圖像的名稱是整數,例如,我可以使用名稱爲567.jpg,568.jpg,569.jpg,570.jpg和571.jpg的5張圖像。整數是隨機的,然而,它們總是以上面的順序出現,即對於每個圖像增加一個。重命名的圖像文件,如果陳述是錯誤的
所以我想要做的就是去通過圖像此文件夾中,並期待在圖像大小。如果圖像的寬度小於600像素(作爲示例),我想刪除此圖像並移至下一張圖像。現在,如果這個圖像在600像素以上,它應該重新命名,例如它遵循序列。
所以原則上應該發生的事情是:
345.jpg - >過600px的 - >什麼也沒有發生 346-JPG - >在600px的 - >被刪除 347.jph - >在600px的 - >獲取更名爲346.jpg(遵循1步序列)
等等......
我試圖用下面的代碼:
import os
from PIL import Image
img_dir_path = "\"
pic_list = range(567,572,1)
for image in pic_list:
img = Image.open("{}/{}.jpg".format(img_dir_path, image))
if img.size[0] < 600:
os.remove("{}/{}.jpg".format(img_dir_path, image))
else:
if os.path.isfile("{}/{}.jpg".format(img_dir_path, int(image)-1)) == False:
os.rename('{}/{}.jpg'.format(img_dir_path, int(image)), '{}/{}.jpg'.format(img_dir_path, int(image)-1))
else:
print "No worries"
但是,這樣做的時候,我得到了如下錯誤:
WindowsError: [Error 32] The process cannot access the file because it is being used by another process
對於重命名過程,它...
我知道這是一些草率的代碼,但我不是一個Python的專家呢,所以我通常只是先讓它工作,然後再調整。
此外,出現的另一個問題是,檢查是否存在真正的第一項之前進入/是假的時,它始終是假的,因爲現在有,當然是第一張圖像之前什麼都沒有。因此,名單中的名字圖像當然不應該重命名。但是,由於我甚至無法完成這項工作,所以我不打算解決這個問題。
待辦事項關閉其被重命名IMG = Image.open( 「{}/{}。JPG」 之前打開所述圖像.format(img_dir_path,image)) –
重命名之前的Image.close() –
是的,就是這樣。如果你想接受答案,請給出答案:) –