PIL图像show()在Windows 7上不工作

14 投票
3 回答
13836 浏览
提问于 2025-04-17 04:01

我想在Windows和其他平台上用Python显示一张图片。可是当我这样做的时候:

from PIL import Image
im = Image.open('image.png')
im.show()

我的默认查看器打开了,但告诉我说 Windows照片查看器无法打开这张图片,因为这个文件可能被删除了,等等。

这个文件可能真的被删除了,因为PIL(一个处理图像的库)用以下命令调用了操作系统:"start /wait %s && del /f %s" % (file, file)

我找到了一种解决方法,在这里。他们建议把PIL的代码改成 "start /wait %s && PING 127.0.0.1 -n 5 > NUL && del /f %s" % (file, file)。不过,我希望其他人也能使用我的代码。

有没有简单的解决办法?我是不是应该找一个可以跨平台使用的PIL替代品?

3 个回答

0

当照片查看器出现时,
你可以去顶部的菜单,点击“打开”->“选择程序”->选择“画图”。
如果是西班牙语的话,步骤是:点击“Abrir”->“Elegir Programa”->选择“Paint”。

图片参考:图片

2

如果你希望这个文件只用MS Paint(画图)打开,可以使用以下命令:

start /wait mspaint %s && del /f %s" % (file, file)

这里的 /wait 其实在直接指定文件名的时候并没有什么作用。

12

好的,我找到了解决办法,具体可以在这里查看:

import webbrowser
webbrowser.open('image.png')

这个方法会在我的电脑上打开默认的查看器,而不是浏览器。

另外,还有一个方法叫做 os.startfile

撰写回答