-1

我正在尝试制作一个 for 循环,该循环通过具有 4 个值的列表运行: 16, 32, 64, 128.

这些是脚本需要将图像调整为的四种尺寸。

这是我的完整代码:

def on_btn_resize_clicked(self, widget):
    if len(self.imgOriginal) > 0 and len(self.appRoot) > 0: #check if original-image and app-root is select
        _imgFilename = os.path.splitext(basename(self.imgOriginal))[0] #get filename
        _imgFileExtension = os.path.splitext(basename(self.imgOriginal))[1] # get filextension

        quickly_sizes = [16, 32, 64, 128] #define all sizes, resize to 16x16, 32x32, 64x64, 128x128
        for size in quickly_sizes:
            print size
            im=Image.open(self.imgOriginal)
            im = im.convert("RGB")
            im = im.resize((int(size), int(size)), Image.ANTIALIAS)
            im.save(self.appRoot+"/data/media/"+_imgFilename+str(size)+_imgFileExtension)

        widget.set_label("All four images is save!")
        from subprocess import call
        call(["nautilus", self.appRoot+"/data/media/"]) #open/show folder where all files is save

循环正在运行,但它不会将图像保存在文件夹中。

我究竟做错了什么?

4

1 回答 1

0

上面的代码有效:)

但是您需要先关闭 Nautilus/gnome-open,然后再打开它.. 然后显示所有图像。或者只是一个'ls'

from subprocess import call
call(["nautilus", self.appRoot+"/data/media/"])
于 2012-10-21T13:57:46.740 回答