在python中重命名,调整大小和移动图像文件

时间:2017-07-24 17:09:15

标签: python ubuntu directory resize renaming

我正在尝试创建一个程序,将目录中的任何图像大小调整为299x299。然后,我想重命名该图像并将其转换为jpeg,以便所有图像都将命名为0.jpg,1.jpg,2.jpg等。我还想将转换后的文件移动到自己的目录中

我已经解决了它的大小调整部分。但是,当我添加重命名代码时,即(index = 0,new_image.save)file_name,str(index),+“.jpg”和index + = 1),调整大小部分不再起作用。有没有人有任何建议?

这是我到目前为止所做的:

#!usr/bin/python

from PIL import Image
import os, sys

directory = sys.argv[1]
for file_name in os.listdir(directory):
        print ("Converting %s" % file_name + "...")
        image = Image.open(os.path.join(directory, file_name))

        size = 299, 299
        image.thumbnail(size, Image.ANTIALIAS)

        w, h = image.size

        new_image = Image.new('RGBA', size, (255, 255, 255, 255))
        new_image.paste(image, ((299 - w) / 2, (299 - h) / 2))

        index = 0

        new_image_file_name = os.path.join(directory, file_name)
        new_image.save(file_name, str(index) + ".jpg")

        index += 1

print ("Conversion process complete.")

1 个答案:

答案 0 :(得分:1)

来自documentation

  

<强> Image.save(fp, format=None, **params)

     

将此图像保存在给定的下方   文件名。如果未指定格式,则确定要使用的格式   如果可能,从文件扩展名开始。

image.save的正确语法是:

new_image.save(file_name, 'JPG')

要移动文件,您可以使用shutil.move

import shutil
shutil.move(file_name, 'full/path/to/dst/') # the second argument can be a directory