首页 > 解决方案 > 如何使用 Linux Ubuntu 终端将图像移动到不同的目录

问题描述

我现在正在尝试构建一个脚本,该脚本可以打开、旋转、调整大小并保存图像目录中包含的多个图像(运行pwd命令会给出消息/home/student-01-052f372bc989/images)。图像目录中包含的图像为 TIFF 格式,分辨率为 192x192 像素,逆时针旋转 90°。脚本必须将这些图像转换为以下格式:

  1. .jpeg 格式
  2. 图像分辨率 128x128 像素
  3. 应该是直的

并将修改后的图像保存在 /opt/icons 目录中

这是我目前拥有的代码:

import os
from PIL import Image

Image_dir = '/home/student-01-052f372bc989/images'
imagedir = os.chdir(Image_dir)
new_dir = '/opt/icons'

for pic in os.listdir(os.getcwd()):
   if pic.endswith(".tiff"):
      img = Image.open(pic)
      new_img = img.resize((128,128)).rotate(270)
      newName = pic.replace(".tiff", ".jpeg")
      newdir = os.chdir(new_dir)
      new_img.save(newName, "JPEG")
      imagedir = os.chdir(Image_dir)

代码运行时没有问题,但是当我运行ls /opt/icons命令检查修改后的图像是否复制到目录时,图像还没有。

该脚本当前位于/home/student-01-052f372bc989/images目录中。

有人可以告诉我我做错了什么吗?

标签: pythonlinuxpython-imaging-library

解决方案


所以......经过一些挖掘,我确实设法找到了一种更简单的方法来编写脚本

代码如下:

import os
from PIL import Image

old_path = os.path.expanduser('~') + '/images/'
new_path = '/opt/icons/'

for image in os.listdir(old_path):
        if '.' not in image[0]:
                img = Image.open(old_path + image)
                img.rotate(-90).resize((128, 128)).convert("RGB").save(new_path + image.split('.')[0], 'jpeg')
                img.close()

推荐阅读