Python:如何在Jupyter Notebook的for循环中显示Base64图片?
在Jupyter Notebook循环中显示Base64图片的解决方法
要在循环里正常显示Base64对应的图片,核心是显式调用display.display()方法,而不是只创建display.Image对象。Jupyter Notebook默认只会渲染单元格最后一个返回的对象,循环中的单个Image对象不会自动被渲染。
修正后的代码示例
from IPython import display from base64 import b64decode # 示例字典列表 arr = [{"b64_str": "...", "title": "product1"}, {"b64_str": "...", "title": "product2"}] for item in arr: # 解码Base64字符串并生成Image对象 img_obj = display.Image(b64decode(item["b64_str"])) # 显式渲染图片 display.display(img_obj) # 可选:显示对应标题,方便区分 print(f"标题:{item['title']}")
为什么之前的写法无效
- 直接在循环里写
display.Image(b64decode(...)):Jupyter不会主动渲染循环中的每个对象,仅会处理单元格末尾的单个返回值。 - 用
print()输出Image对象:打印的是对象的字符串描述(比如<IPython.core.display.Image object>),而非渲染后的图片。
内容的提问来源于stack exchange,提问作者rom
相关产品推荐
相关产品推荐

