从Python控制台显示图像.jpg或.gif图像的最简单方法是什么?
我有一个Python控制台程序正在检查一个数据集,其中包含本地存储的图像的链接.我应该如何编写脚本以便显示图像弹出图形窗口?
Ste*_*lla 54
使用令人敬畏的枕头库:
>>> from PIL import Image
>>> img = Image.open('test.png')
>>> img.show()
Run Code Online (Sandbox Code Playgroud)
这将在默认图像查看器中打开图像.
安装枕头(或PIL),例如:
$ pip install pillow
Run Code Online (Sandbox Code Playgroud)
现在你可以
from PIL import Image
with Image.open('path/to/file.jpg') as img:
img.show()
Run Code Online (Sandbox Code Playgroud)
其他常见的替代方案包括xdg-open使用图像路径运行或启动浏览器:
import webbrowser
webbrowser.open('path/to/file.jpg')
Run Code Online (Sandbox Code Playgroud)
如果你真的想在控制台中内嵌显示图像而不是新窗口,你可以这样做,但只能在Linux控制台中使用,fbi请参阅询问Ubuntu或者使用像CACA这样的ASCII-art .
或者只是通过shell执行图像,如
import subprocess
subprocess.call([ fname ], shell=True)
Run Code Online (Sandbox Code Playgroud)
无论安装什么程序来处理图像都将启动.
由于您可能正在运行Windows(通过查看您的标签),这将是从控制台打开和显示图像文件的最简单方法,而无需安装像PIL这样的额外内容.
import os
os.system('start pic.png')
Run Code Online (Sandbox Code Playgroud)
如果您想在新窗口中显示它,可以使用 Tkinter + PIL 库,如下所示:
import tkinter as tk
from PIL import ImageTk, Image
def show_imge(path):
image_window = tk.Tk()
img = ImageTk.PhotoImage(Image.open(path))
panel = tk.Label(image_window, image=img)
panel.pack(side="bottom", fill="both", expand="yes")
image_window.mainloop()
Run Code Online (Sandbox Code Playgroud)
这是一个经过修改的示例,可以在整个网络上找到。
您无法在控制台窗口中显示图像.您需要一个图形工具包,如Tkinter,PyGTK,PyQt,PyKDE,wxPython,PyObjC或PyFLTK.有很多教程如何创建siomple窗口和加载图像iun python.