所以我试图在一个文件夹中循环一堆图像,进行一些更改并将它们保存在一个子目录中,但我遇到了权限被拒绝的问题。
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] Permission denied: 'D:/my_path/out/'
此行触发错误 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)
关于python - Pillow Image.save() [Errno 13] 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51362873/