Python 使用 urllib.request 和 PIL 显示网络图片:完整代码及常见错误解决
使用 Python 从网络获取图片并使用 Tkinter 显示,需要先导入 urllib.request 和 PIL 库,并使用 ImageTk 类将图片转换为 Tkinter 可识别的格式。
import urllib.request
from PIL import ImageTk, Image
import tkinter as tk
import io # 添加 io 模块
# 获取图片
url = 'http://w.yuqi52.cn/img/1.png'
image_data = urllib.request.urlopen(url).read()
image = Image.open(io.BytesIO(image_data))
# 创建Tkinter窗口并显示图片
root = tk.Tk()
img = ImageTk.PhotoImage(image)
label = tk.Label(root, image=img)
label.pack()
root.mainloop()
代码中,io.BytesIO(image_data) 将图片数据转换为字节流,以便 Image.open() 函数可以读取它。
常见错误:
- ImportError: No module named 'io': 这是因为
io模块没有被导入。在代码开头添加import io即可解决。
注意:
- 确保你已经安装了
urllib和PIL库。如果没有,请使用pip install urllib3和pip install pillow命令安装。 - 将
url变量替换为你要获取的图片的实际 URL 地址。
原文地址: https://www.cveoy.top/t/topic/nz99 著作权归作者所有。请勿转载和采集!