在Window Photo Viewer中关闭Pillow打开的图像

时间:2017-05-01 14:54:11

标签: image python-3.x python-imaging-library

我试图在每次迭代中关闭通过迭代打开的每个图像。

我已经在下面提到了这个帖子,但正确答案并没有产生结果。

How do I close an image opened in Pillow?

我的代码

for i in Final_Bioteck[:5]:
     with Image.open('{}_screenshot.png'.format(i)) as test_image:
        test_image.show()
        time.sleep(2)

我也试过了,

test_image.close(),但没有结果。

上面的循环是打开5个Windows照片查看器对话框;我希望通过迭代,每个窗口都会关闭。

我也看到了这个帖子,但答案已经过时了,所以不确定是否有更简单的方法来执行我想要的东西。 How can I close an image shown to the user with the Python Imaging Library?

谢谢=)

2 个答案:

答案 0 :(得分:2)

搞定了,但我在Windows上安装了一个不同的图像查看器,因为我找不到默认查看器的.exe。

import webbrowser
import subprocess
import os, time

for i in Final_Bioteck[6:11]:
        webbrowser.open( '{}.png'.format(i))  # opens the pic
        time.sleep(3)
        subprocess.run(['taskkill', '/f', '/im', "i_view64.exe"])  

#taskkill kills the program, '/f' indiciates it's a process, '/'im' (not entirely sure), and i_view64.exe is the image viewers' exe file. 

答案 1 :(得分:0)

在Windows 10中,进程为dllhost.exe。 使用与Moondra相同的脚本,除了使用“ dllhost.exe”而不是“ i_view64.exe”

(2 * median(x.coords)) - x.coords