Python 如何使用for循环将图像保存在文件夹中?

Python 如何使用for循环将图像保存在文件夹中?,python,image,resize,processing,rescale,Python,Image,Resize,Processing,Rescale,首先,我有一个问题,就是用相同的名称将每个调整大小的文件保存到同一个文件夹?第二,在运行时,我无法理解mt代码是否正常工作。请检查我是否正确调整了大小?在我的代码中找不到错误: import glob from PIL import Image images = glob.glob("C:/Users/marialavrovskaa/Desktop/Images/*.png") for image in images: with open(image,"rb") as file:

首先,我有一个问题,就是用相同的名称将每个调整大小的文件保存到同一个文件夹?第二,在运行时,我无法理解mt代码是否正常工作。请检查我是否正确调整了大小?在我的代码中找不到错误:

import glob
from PIL import Image
images = glob.glob("C:/Users/marialavrovskaa/Desktop/Images/*.png")
for image in images:
    with open(image,"rb") as file:
        img = Image.open(file)
        imgResult = img.resize((800,800), resample = Image.BILINEAR)
      imgResult.save('"C:/Users/marialavrovskaa/Desktop/Images/file_%d.jpg"', 'JPEG')
        print("All good")

如果要为图像指定一个带有连续数字的名称,则必须将文件名和计数器连接起来:

image\u no=1
对于图像中的图像:
# [...]
name='C:/Users/marialavrovskaa/Desktop/Images/file_'+str(image_no)+'.jpg'
imgResult.save(名称“JPEG”)
图像编号+=1
由于图像的格式为PNG,应存储为
JPEG
,因此必须通过将格式从RGBA转换为RGB。注意,将
RGBA
图像存储到“JPGE”会导致错误:

导入全局
从PIL导入图像
images=glob.glob(“C:/Users/marialavrovskaa/Desktop/images/*.png”)
图像编号=1
对于图像中的图像:
打开(图像,“rb”)作为文件:
img=Image.open(文件)
imgResult=img.resize((800800),resample=Image.biliner)。convert('RGB'))
name='C:/Users/marialavrovskaa/Desktop/Images/file_'+str(image_no)+'.jpg'
imgResult.save(名称“JPEG”)
图像编号+=1
打印(“一切正常”)

顺便说一句,如果文件名应该保留,图像应该存储到具有不同扩展名的文件中,那么扩展名可以通过以下方式从文件中拆分:

imgResult=img.resize((800800),resample=Image.BILINEAR)。convert('RGB'))
name=os.path.splitext(图像)[0]+'.jpg'
imgResult.save(名称“JPEG”)

如果你想用不同的扩展名将文件存储到不同的路径,那么你必须从路径中提取文件名

看。通过
os.path.Split(path)
从文件名和扩展名中分割路径,该操作返回路径和名称的元组

e、 g

导入操作系统 >>>拆分('c:/mydir/myfile.ext') ('c:/mydir','myfile.ext') 将文件名和扩展名按
os.path.splitext(path)
拆分:

>os.path.splitext('myfile.ext')
('myfile','.ext')
应用于代码这意味着,
文件
是源图像文件的路径、名称和扩展名:

导入全局
从PIL导入图像
images=glob.glob(“C:/Users/marialavrovskaa/Desktop/images/*.png”)
图像编号=1
对于图像中的图像:
打开(图像,“rb”)作为文件:
img=Image.open(文件)
imgResult=img.resize((800800),resample=Image.biliner)。convert('RGB'))
image\u path\u和\u name=os.path.split(文件)
image\u name\u and\u ext=os.path.splitext(image\u path\u and\u name[1])
name=image_name_和_ext[0]+'.png'
file_path=os.path.join(路径,名称)
imgResult.save(文件路径'JPEG')
图像编号+=1
打印(“一切正常”)
import os