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
图片参考:图片