PIL 图像显示()在 Windows 7 上不起作用

问题描述

我想在 windows 和其他平台上使用 python 显示图像.当我这样做时:

I would like to show an image using python on windows and other platforms. When I do:

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

我的默认查看器打开并告诉我 Windows 照片查看器无法打开此图片,因为此文件已被删除 等等.

my default viewer opens up and tells me that Windows Photo Viewer can't open this picture because either this file was deleted , etc.

该文件可能被删除,因为 PIL 使用以下命令调用操作系统:"start/wait %s && del/f %s" % (file, file)

The file is probably deleted because PIL calls the os with the following command: "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).但是,我希望其他人能够使用我的代码.

I found a workaround here. They recommend changing PIL's code to "start /wait %s && PING 127.0.0.1 -n 5 > NUL && del /f %s" % (file, file). However, I want others to be able to use my code.

有简单的解决方案吗?我应该寻找可以跨平台工作的 PIL 替代品吗?

Is there a simple solution? Should I look for an alternative to PIL that would work crossplatform?


解决方案

好的,找到解决方案这里:

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

它会在我的机器上打开默认查看器,而不是浏览器.

It opens the default viewer, not the browser, on my machine.

还有os.startfile.

相关文章