![](/img/trans.png)
[英]Python Pillow Library Error : PermissionError: [Errno 13] Permission denied
[英]Pillow Image.save() [Errno 13] Permission denied
所以我試圖在一個文件夾中循環一堆圖像,做一些更改並將它們保存在一個子目錄中,但我遇到了權限被拒絕的問題。
from PIL import Image
import os
path = 'D:/my_path/'
dirs = os.listdir( path )
new_folder = 'out'
if not os.path.exists(path + new_folder):
os.makedirs(path + new_folder)
def resize():
num=0
for item in dirs:
#print(path + item)
if os.path.isfile(path+item):
im = Image.open(path+item).convert('RGB')
imResize = im.resize((64, 64), Image.ANTIALIAS)
im.Resize = os.rename(os.path.join(path, item),os.path.join(path, 'bad_' + str(num)) )
imResize.save(path + new_folder, 'JPEG', quality=90)
num+=1
#if num > 1000:
#break
resize()
PermissionError: [Errno 13] 權限被拒絕: 'D:/my_path/out/'
錯誤在這一行觸發imResize.save(path + new_folder, 'JPEG', quality=90)
知道為什么嗎?
imResize.save(path + new_folder, 'JPEG', quality=90)
在我看來imResize.save(path + new_folder, 'JPEG', quality=90)
。 您有一個名為D:/my_path/out
的目錄,在這里您嘗試將文件保存為名稱D:/my_path/out
。 那已經是一個目錄,因此您無法保存具有相同名稱的文件。
嘗試為您的文件選擇一個與現有目錄的名稱不沖突的名稱。
outputfilename = os.path.join(path, new_folder, "myoutputfile_{}.jpg".format(num))
imResize.save(outputfilename, 'JPEG', quality=90)
工作代碼:
rename = 'bad_img_'
def resize():
num=0
for item in dirs:
if os.path.isfile(path+item):
im = Image.open(path+item).convert('RGB')
imResize = im.resize((64, 64), Image.ANTIALIAS)
imResize.save(os.path.join(save_dir, rename + str(num)) + '.JPG', 'JPEG', quality=90)
num+=1
resize()
我有一個類似的問題。 在我的情況下,路徑是正確的,但由於文件權限而出現問題。 在 Mac 中,右鍵單擊文件並選擇get info
,然后將權限更改為read&write
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.