PIL image show()在windows 7上不起作用。

时间:2021-08-21 00:22:32

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

我想在windows和其他平台上显示一个使用python的图像。当我做:

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

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

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

The file is probably deleted because PIL calls the os with the following command: "start /wait %s && del /f %s" % (file, file)

该文件可能会被删除,因为PIL用以下命令调用操作系统:“开始/等待%s && & del /f %s”%(文件,文件)

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的代码更改为“start /wait %s && PING 127.0.0.1 - n5 > NUL && del /f %s”%(文件,文件)。但是,我希望其他人能够使用我的代码。

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

有一个简单的解决方案吗?我应该找一种替代PIL的方法吗?

3 个解决方案

#1


12  

Ok, found a solution here:

好的,找到了一个解决方案:

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

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

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

Also, there is os.startfile.

同时,os.startfile。

#2


2  

If you want it to be opened by MS paint only, you can use:

如果你想要由MS油漆打开,你可以使用:

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

开始/等待mspaint %s && del /f %s %s %(文件,文件)

The /wait is not having any effect when the file name is specified directly.

当文件名称被直接指定时,/等待不会产生任何效果。

#3


0  

When Photo Viewer does appear, Go to menu on top ->Open->Choice Program-> Select Paint
On Spanish -> Abrir-> Elegir Programa -> seleccionar Paint

当照片查看器出现时,点击顶部>开放>选项->在西班牙-> Abrir-> ->的seleccionar油漆上选择油漆。

image reference: image

图片参考:图片

#1


12  

Ok, found a solution here:

好的,找到了一个解决方案:

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

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

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

Also, there is os.startfile.

同时,os.startfile。

#2


2  

If you want it to be opened by MS paint only, you can use:

如果你想要由MS油漆打开,你可以使用:

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

开始/等待mspaint %s && del /f %s %s %(文件,文件)

The /wait is not having any effect when the file name is specified directly.

当文件名称被直接指定时,/等待不会产生任何效果。

#3


0  

When Photo Viewer does appear, Go to menu on top ->Open->Choice Program-> Select Paint
On Spanish -> Abrir-> Elegir Programa -> seleccionar Paint

当照片查看器出现时,点击顶部>开放>选项->在西班牙-> Abrir-> ->的seleccionar油漆上选择油漆。

image reference: image

图片参考:图片